Hi there! Some of you might be familiar with MetaMask Flask metamask[dot]io/flask/, a program by the MetaMask team to allow third-party developers () to create “Snaps”, the equivalent of a “Plugin” for the MetaMask ecosystem.
The proposal is simple: create a HOPR Snap for MetaMask which provides an “Enable HOPR network” mode, a simple toggle UI that when activated redirects all RPC calls done by MetaMask (e.g. their default Infura) to go through the HOPR network, similar to how DERP (derp[dot]hoprnet[dot]org/) works.
To make this “Enable HOPR network” work, we need to have a testnet up and running, but in the meantime, a simple centralized endpoint could work, similar to how PoktNetwork offsets their calls to the pool of nodes.
Interesting, I didn’t know about MetaMask Flask. Not having looked at it closely, so my assumptions might be wrong.
The one bit missing in your list of steps/requirements is some form of HTTP Proxy which sends RPC calls through the HOPR network and returns the response through the HOPR network as well. As such the final version of the “HOPR Shield” will be more involved, but a first DERP-like PoC would already be a nice start.
This is why you get paid the big bucks. LOL This is a great idea on many levels. This would expose many thousands of people to the benefits of HOPR without much of a marketing effort. I would suggest adding a link in metamask to HOPR and DERP educational content. Would the HOPR transaction fee be baked into the agreement with metamask or passed on to the end user each time? I assume other wallets like MeW are fair game as well.
I agree, that’s a great suggestion! @Emmerson_Biggins I guess you could easily add a factor of 10 there!
Would the transactions fees be a problem in the cover traffic phase? Or am I missing something?
Thanks for bringing it here @jjperezaguinaga. Very intrested how it can be implemented. If anyone has a background of developing Snaps - would love to hear their opinion!
That’s correct. We could explore using the Fluence Network to deploy the RPC handshake (instead of let’s say, a Cloudflare Worker) so the response payload can be forwarded to the proper node. Heck, if we reach them out, we might be able to do a joint bounty on this.
But a centralized alternative should be also fair game for the time being, and people can deploy this part themselves and replace it in the Settings, or use a public one they can pay for a la API keys (not ideal but hey).
Sounds amazing, please as simple as an on/off switch for this mode. As I mentioned in another proposal, it would be nice if we can incentivize people to hold HOPR via a max amount of network usage (maybe per month) that can be increased with the number of HOPR that a wallet holds.