-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Package Extraction Strategy #5304
Comments
@Stebalien @schomatis @magik6k I need to extract the importers and unixfs. I'm thinking of just making it all into one big |
Since importers and unixfs depend on each other, I guess it's fine. |
SGTM. |
SGTM |
Extraction completed! 🚀 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm currently extracting a few packages that will make building tooling on top of ipfs much simpler. things like iptb, ipget, car (not published yet), filecoin, and others currently depend on a bunch of stuff that means they have to import go-ipfs in its entirety. In addition, it means they are forced to deal with gx, which is currently pretty inconvenient for just hacking something together.
So things are getting pulled out into a bunch of separate repos.
However, i'm not overly happy with the packages that are being extracted. Some these packages should be combined together into a single larger package, and some should be torn apart, and/or have their functionality be provided by another package.
Some examples that i've been thinking about:
go-merkledag (previously go-ipfs/merkledag) should probably have a bunch of its code merged down into go-ipld-format, some of it should be moved to a package specific for the protobuf ipld node, and some of it should find a home as a general ipld traversal package (possibly as a subpackage of go-ipld-format).
go-verifcid should just be deprecated in favor of this logic moving into the go-cid package.
go-blockservice should get deprecated as a result of us unifying it with the 'blockstore' interface. The blockservice should just be a blockstore thats also partially backed by a 'block exchange'.
There are other packages that should get similar treatments too.
The text was updated successfully, but these errors were encountered: