-
Notifications
You must be signed in to change notification settings - Fork 73
Open
Labels
bountyHas bounty! See https://github.com/ipfs/devgrants/projects/1Has bounty! See https://github.com/ipfs/devgrants/projects/1proposalA grant proposalA grant proposal
Description
(edits by @parkan)
Context
MetaMask is experimenting with a way for external protocols to integrate with MetaMask in permissionless fashion:
- Announcement by @danfinlay
- API Docs:
- MetaMask/metamask-snaps-beta/wiki
- prior art – basic API for Swarm services https://web3js.readthedocs.io/en/v1.2.7/web3-bzz.html
- Build tools: MetaMask/snaps-cli
- Partial IPFS implementation at https://github.com/MetaMask/snaps-cli/tree/master/examples/ipfs (thank you @agnelvishal for this context)
Task
We're interested in a feature-complete/supported implementation of IPFS as a MetaMask snap plugin. The example plugin has partial implementation (add/cat via Infura) but does not support pinning or local node.
This bounty is for a specification/proposal for a more complete IPFS implementation in the snap context. The questions we are interested in answering are:
- is it possible to use a proper js-ipfs embedded node in this context? this could be interop with IPFS Companion, an embedded js-ipfs node in the snap context, using ipfs-provider, etc
- if proper embedded node/ipfs-provider is not possible, can we make RPC configurable (e.g. using Infura, Pinata, temporal.cloud, etc)?
- what IPFS capabilities can be made available to other tools in snap context, depending on above results?
- concrete implementation proposal
Once these goals are met we will create a new bounty with a higher payout for the implementation, giving initial priority to the author of this proposal.
Metadata
Metadata
Assignees
Labels
bountyHas bounty! See https://github.com/ipfs/devgrants/projects/1Has bounty! See https://github.com/ipfs/devgrants/projects/1proposalA grant proposalA grant proposal