-
Notifications
You must be signed in to change notification settings - Fork 232
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
unixfs spec missing #162
Comments
We are missing that spec. However, we have documentation in the several pieces of Unixfs, namely:
Let me know if that helps :) |
Thanks @diasdavid. Below are some specific questions I have:
|
Excellent questions! Thank you, @JustinDrake :)
Absolutely. It's convenience for things like stats, if it is application critic it should be verified externally.
Not part of the spec.
Not currently used. Designed for things like permissions.
Both exist in different realms. Unixfs raw type is the unixfs protobuf with a type raw serialized and inserted into a dag-pb protobuf. IPLD raw type is really just any array of bytes
What is the case of 'link'? A good way to understand the data struct is to add some files and directories and explore them using the
Unixfs uses
Per directory level. If there is a folder with 2 files using the same name, then that is an error. To make that happen you would have to manipulate the graphs directly. |
Thanks 👍 Some follow-up questions:
|
|
@Stebalien Cheers :) My unixfs understanding is starting to crystalise 👍
|
(we = protocol labs, not necessarily me)
So, DagCBOR is the canonical IPLD format that can encode every IPLD object (arbitrary The answer is that IPFS (and these DagProtobuf objects) came before IPLD. However, while building IPFS, we realized that DagProtobuf was hard to work with. To structure data, you have to serialize it and embed the structured data in the data field as an array of bytes. Worse, this structured data can't actually link to other objects because links must go in the links section (so the data section needs to reference links in the links section to actually link to other objects). So, we made IPLD to make storing structured data easier. Now, why did we keep DagProtobuf? The answer is simply backwards compatibility. So, what is the use-case for DagCBOR: building other applications (and, potentially, extending IPFS). It's what we would have used to build IPFS if we could start over. |
Continued in #316 |
The unixfs spec is completely missing https://github.com/ipfs/specs/tree/master/unixfs
Can I find rough notes somewhere specifying unixfs?
The text was updated successfully, but these errors were encountered: