-
Notifications
You must be signed in to change notification settings - Fork 22
Open
Labels
P2Medium: Good to have, but can wait until someone steps upMedium: Good to have, but can wait until someone steps upexp/intermediatePrior experience is likely helpfulPrior experience is likely helpfulkind/bugA bug in existing code (including security flaws)A bug in existing code (including security flaws)topic/docsDocumentationDocumentation
Description
The README is misleading
Lines 3 to 33 in f075020
| var README_IPFS_DEF_SHARD = `This is a repository of IPLD objects. Each IPLD object is in a single file, | |
| named <base32 encoding of cid>.data. Where <base32 encoding of cid> is the | |
| "base32" encoding of the CID (as specified in | |
| https://github.com/multiformats/multibase) without the 'B' prefix. | |
| All the object files are placed in a tree of directories, based on a | |
| function of the CID. This is a form of sharding similar to | |
| the objects directory in git repositories. Previously, we used | |
| prefixes, we now use the next-to-last two characters. | |
| func NextToLast(base32cid string) { | |
| nextToLastLen := 2 | |
| offset := len(base32cid) - nextToLastLen - 1 | |
| return str[offset : offset+nextToLastLen] | |
| } | |
| For example, an object with a base58 CIDv1 of | |
| zb2rhYSxw4ZjuzgCnWSt19Q94ERaeFhu9uSqRgjSdx9bsgM6f | |
| has a base32 CIDv1 of | |
| BAFKREIA22FLID5AJ2KU7URG47MDLROZIH6YF2KALU2PWEFPVI37YLKRSCA | |
| and will be placed at | |
| SC/AFKREIA22FLID5AJ2KU7URG47MDLROZIH6YF2KALU2PWEFPVI37YLKRSCA.data | |
| with 'SC' being the last-to-next two characters and the 'B' at the | |
| beginning of the CIDv1 string is the multibase prefix that is not | |
| stored in the filename. | |
| ` |
FlatFS does not know anything about CIDs, blocks or IPLD and actually is being used by different projects in the ecosystem in different ways. In particular some key their IPLD blocks by CIDs and some by multihashes, but FlatFS doesn't really care. All the text around base32 encoding, CIDs, etc. should be removed and placed into the docs of the applications that use them (e.g. go-ipfs docs).
alanshaw
Metadata
Metadata
Assignees
Labels
P2Medium: Good to have, but can wait until someone steps upMedium: Good to have, but can wait until someone steps upexp/intermediatePrior experience is likely helpfulPrior experience is likely helpfulkind/bugA bug in existing code (including security flaws)A bug in existing code (including security flaws)topic/docsDocumentationDocumentation