-
Notifications
You must be signed in to change notification settings - Fork 6
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
Support for IPLD Data Model and Codecs #59
Comments
Basic ipld-data-model and dag-cbor libraries pushed here |
I must admit that I haven’t followed up with how libraries/applications are supposed to handle IPLD. Afaics, the IPFS API is still fairly untyped as far as the data payloads are concerned. Is the idea to have some higher-level wrappers to encode/decode from/to the data the IPFS API provides? |
All data stored in IPFS is stored in IPLD DAG form, which is reasonably structured but not super typed (think JSON), the The |
All data stored in IPFS is stored in IPLD DAG form, which is reasonably
structured but not super typed (think JSON), the `ipfs dag` api
interacts more directly with this form.
Yes, that doesn't seem to have changed since last time I worked with it. My
question is more, if you wanted to contribute the types you defined to one of
the packages in this repo, where would it go?
The `ipfs-api`'s servant types are very close to what `go-ipfs` exposes (they
were, in fact, generated from that). So I suppose one would use those types in a
layer on top of `ipfs-api`?
|
From a spec standpoint they are a layer underneath IPFS, and you can see this in practice with Filecoin, which builds on top of IPLD but not on top of IPFS (common misconception). There will be other situations where you want to use IPLD but not IPFS, for example most crypto blockchains can be pulled into IPLD (using a different codec then dag-cbor one I provided), but they know nothing about IPFS. For that reason they should likely be towards the bottom of the dependency graph. I think that my approach is reasonable: I could also see it being reasonable to merge Due to the sizable amount of codecs I don't think they should all be in the same package, but with that said As for how to best handle |
I was looking to manipulate and serialize/deserialize IPLD objects, and I came across a few of the libraries listed here in the process.
It looks like the current set of libraries does not include the above, so I figured I'd make an issue in case you thought it was in scope.
I may end up making the libraries myself in my free time, likely on top of some of your libraries, in which case I'll open source them and we can discuss if it's worth merging them into your repo later.
The text was updated successfully, but these errors were encountered: