Closed delaneyj closed 1 year ago
https://github.com/ipld/go-ipld-adl-hamt & https://github.com/ipfs/go-unixfsnode are two "ADL"s that do HAMT work, the latter for the specific UnixFS sharded directory HAMT, and the former is according to spec (https://ipld.io/specs/advanced-data-layouts/hamt/).
The reason they aren't here is because this isn't intended to be a mega-repo, it's a core piece that things build on, not a place to put everything that anyone comes up with. The ADL concept is intended to provide extensibility in whatever direction people want to come up with, ideally entirely unpermissioned. The only real ADL that's in here is an example one that exists just to show how to extend.
dag-cbor and dag-json are in here kind of as a historical artifact, but also because they're so core to developing this library, we need a serialisation format to be able to test and exercise go-ipld-prime itself, so they're here (dag-json is along for the ride because it uses the refmt library in a near identical way to dag-cbor). You'll note though that dag-pb lives elsewhere even though it's responsible for >95% of the data trafficked through the IPFS network: https://github.com/ipld/go-codec-dagpb, that's the model we're going for here.
I hope that explains it.
Curious why the current information isn't under the adl repo, similar to json/cbor for encoding