There appear to be 2 two substrate forks addressing offchain data storage with a IPFS backend:

As best I can tell (very new here so could be wrong) they take 2 different approaches: Pallet vs chain extension.

  1. What are the relative merits of each approach to implementing IPFS: pallet vs extension chain?
  2. Which is more likely to land upstream?
  3. Is it possible to track/estimate the time frame in which these might land upstream?

This is not the question: what are the ways to store offchain data

  • The implementation on how to store offchain data is maintainer's responsibility. These solutions will not land into core substrate repo. Commented Oct 18, 2022 at 18:07
  • Offchain data can be stored in offchain storage. Those forks are custom implementation. I think the question could be more clear if you asked what are the ways to store offchain data and i believe there are answers already Commented Oct 18, 2022 at 18:09
  • > These solutions will not land into core substrate repo. New here... are you a member of the core team? Commented Oct 18, 2022 at 20:30
  • am a contributor but these are personal custom implementation. the core team implementation is to use offchain db which is already configured. Commented Oct 18, 2022 at 23:01

2 Answers 2

  1. Use a pallet
  2. It is unclear. See my comment here for more detail behind this summary:
    • Upstream changes to Substrate are required for native Substrate runtime support of IPFS (things have been tried).
    • Upstream is not resistant
    • Upstream changes won't be easy/quick
    • Web3 Foundation have made two grants related/using IPFS, but not focused on getting IPFS in the native Substrate runtime
    • The Iris grant project completed
    • The offchain_ipfs project review/merge of contributions stalled due to lack of resources
    • Substrate forks proliferate....
  3. No

Update: rs-ipfs is in a state of flux, possibly being archived, with iroh being a new candidate. Performance is impressive (presentation) but it is early days.

Substrate forking seems unavoidable for the foreseeable future, say 12+ months


The "native" approach uses the off-chain worker(ocw) functionality to interact with IPFS. I'd guess a Substrate pallet for IPFS doesn't exist because each implementation will have its differences and require somewhat of a custom implementation. I think the projects you've linked and discussed are the ones to watch. Maybe search some big parachain projects to see if they have any IPFS ocws.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.