plebbit / plebbit-js

A Javascript API to build applications using plebbit
GNU General Public License v2.0
41 stars 7 forks source link

implement plebbit.createAuthor() and plebbit.getAuthor() #31

Open estebanabaroa opened 9 months ago

estebanabaroa commented 9 months ago

eventually we probably want to make it possible for authors to publish themselves as ipns records so that author profiles can be fetch as site.com/#/u/name.eth, not sure what the exact spec will be for this

it wont be very fast or reliable because most users will be in the browser, but it's possible to publish IPNS records from the browser I think, it's just be slow to fetch and not reliable. the preferred way to fetch an author will still be site.com/#/u/name.eth/c/<cid>

Rinse12 commented 8 months ago

Would the ipns record includes encrypted private data about the author? In case the author wants to use their account on multiple devices, then their whole profile could be encrypted and published to IPNS regularly to "sync" between devices

estebanabaroa commented 8 months ago

Would the ipns record includes encrypted private data about the author? In case the author wants to use their account on multiple devices, then their whole profile could be encrypted and published to IPNS regularly to "sync" between devices

does the author have any private data other than his private key? I dont think we have any at the moment. If there is something, like maybe some app specific settings like dark mode preference, we could encrypt that. kind of low priority though

Rinse12 commented 6 months ago

I guess data like lastCommentCid and maybe other things in the future. Right now if you move from seedit.netlify.app to seedit.eth.limo you have to start from scratch with your author profile

estebanabaroa commented 6 months ago

I guess data like lastCommentCid and maybe other things in the future. Right now if you move from seedit.netlify.app to seedit.eth.limo you have to start from scratch with your author profile

lastCommentCid is public so no need for encryption. the author can sync from 2 devices without anything being encrypted (as long as he exports/imports his account once on both devices)

I think if we need encryption we can add it and be backwards compatible later, we just add author.encypted: Encrypted but I don't expect this will be needed