MetaMask / metamask-extension

:globe_with_meridians: :electric_plug: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites
https://metamask.io
Other
11.99k stars 4.91k forks source link

Sync to RemoteStorage #4561

Open danfinlay opened 6 years ago

danfinlay commented 6 years ago

Just an idea, RFC:

RemoteStorage is an open standard for allowing users to choose where they store/sync their data. It can be local-only, or they can use Google Drive, Dropbox, or any other cloud service that gets a connector built for it.

Seems kindof perfect for the kind of data portability we'd like to support, doesn't it?

https://remotestorage.io/ https://github.com/remotestorage/remotestorage.js

bdresser commented 6 years ago

@danfinlay this is cool. Flexible persistent storage could improve dapp usability in a big way. Are you imagining we'd help the user store just MM-specific data (account names, added tokens, etc) or act as a proxy for dapps to request user data as well?

If the latter, I think it'd make sense to do storage with encryption keys we generate from the user's seed, rather than relying on OAuth (unless we can do both?). I'm enthusiastic about the DIF's concept of identity hubs but not sure when we'll have something useable – this might be a nice step in the interim.

If we're just talking about extension data, I wonder how many users consider the info they put in the extension critical enough to warrant backing up. Power users, holler 😄

This relates to #2000 and has some interesting implications for mobile as well.

danfinlay commented 6 years ago

Are you imagining we'd help the user store just MM-specific data (account names, added tokens, etc) or act as a proxy for dapps to request user data as well?

I imagine any of our storage could be relevant, of course encrypted with the user's password as usual.

I saw a new request recently for an API to allow Dapps to store some shared data, I think they're planning on sharing a proposal tomorrow. This might be a nice place to store that type of data, along with state channel data, and whatever else ends up being part of MetaMask's storage (increasingly a general "identity hub" of sorts).