-
Notifications
You must be signed in to change notification settings - Fork 940
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ipld: Drop IPFS plugin support #656
Comments
This seems very reasonable as we definitely want to unblock us on updating to the latest libp2p sooner than later. It would be nice if we can keep in mind that it might be useful to have IPFS as a storage layer long-term though. Here, compatibility is not super urgent nor critical but it's nice as we got this for free so far. My understanding is that we will be compatible once we've upgraded to ipldV1 anyways though. |
Agree with @liamsi |
And this :) #112 |
What
Right now, we follow all the best practices of IPLDv0 in IPFS, which mainly includes registering our IPLD NMT in https://github.com/celestiaorg/celestia-node/blob/main/ipld/plugin/nmt.go#L53-L68 what essentially enables go-ipfs pluggability, so that go-ipfs can understand out NMT data type. However, we don't use IPFS anymore, and we went deeper into its guts to use what we need specifically. What I am proposing here is to take one small step further into its guts to solve some of our problems.
Why
There are a few reasons why we would consider this:
How
By going deeper into guts, I mean to rely on an abstraction below
ipld.DAGService
which isBlockservice
. This way we can avoid those global registering and rely on our NMT IPLD implementation directly so that we use IPLD only for serialization of NMT not to reinvent the wheel. This way, we will start working with Bitswap directly without any facades, until we design our own data transfer protocol.The text was updated successfully, but these errors were encountered: