DNP_DAPPMANAGER
DNP_DAPPMANAGER copied to clipboard
Make IPFS as optional
Similar to the fullnode/remote ETH client option there is for DAppNode right now, implement a similar feature for IPFS:
- [x] Change DAPPMANAGER IPFS consumer code to be able to fetch all necessary data from a Gateway instead of an IPFS HTTP API. The biggest challenge will be with directories. Can we ask IPFS devs to add a header and return directories as JSON
- [x] Must verify all data downloaded from Gateways (cryptographically) ensure the hashes match
- [x] Deploy an IPFS node in a server taking as reference the ETH remote node OR use a remote IPFS node mantainned by a third party (Pinata)
- [ ] DAPPMANAGER UX. Add a new "feature" popup similar the eth multiclient. Ask new users. For old users we should ask too. Offer 3 options:
- Independent: full node of geth and full node of ipfs
- Not independent: remote node of get and ipfs
- Advanced: select custom options for each node (full, light, remote...)
- [ ] Do same procedure as geth to grab content hash in case the remote ipfs node is down so the user is not blind
- [ ] Make IPFS a "core not mandatory" package, similiar to the https and wireguard packages
- [ ] Test it
Advantages:
- Fix the well know issue of IPFS breaking the local network os dappnode users