DNP_DAPPMANAGER icon indicating copy to clipboard operation
DNP_DAPPMANAGER copied to clipboard

Make IPFS as optional

Open pablomendezroyo opened this issue 3 years ago • 6 comments

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:
    1. Independent: full node of geth and full node of ipfs
    2. Not independent: remote node of get and ipfs
    3. 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

pablomendezroyo avatar Jun 29 '21 13:06 pablomendezroyo