ipld / specs

Content-addressed, authenticated, immutable data structures
Other
592 stars 108 forks source link

Implementation: Tracking implementation effort for IPLD v1 #24

Closed nicola closed 6 years ago

nicola commented 8 years ago

According to our conversation (meeting-notes/2016-09-19-ipld.md#layers), here are the following layers we have agreed on having:

Please, check as soon as the work is done (also, link issues and I will add them in here)


cc @dignifiedquire @flyingzumwalt (also, is this the right place for implementation conversations? should we use ipld/ipld instead?)

Stebalien commented 8 years ago

I'll let someone else create the interoperability issue (so that they can edit it) but I'll leave some comments here. Basically, I think we actually have pretty much everything in place but are missing a few components to connect everything together.

  1. Some blobstores (git, dat) may only support certain formats (multicodecs). There should be a way for the blobstore to negotiate supported/preferred formats with the IPLDDagStore.
  2. It would be nice to be able to manually import/export a blob through the IPLDDagStore. Basically, import: (blob, spec) -> CID where spec specifies the multicodec and hash-fn-code and export: (CID) -> blob (basically just calls get on the blobstore).

dat would simply be a blobstore that:

  1. Only accepts blobs where the CID matches the dat spec.
  2. Strips the metadata from the key (leaving only the hash) when the IPLDDagStore calls put(key, value).