All Projects → ipfs → go-hamt-ipld

ipfs / go-hamt-ipld

Licence: MIT license
An implementation of a HAMT using ipld

DEPRECATION NOTICE

This package has moved to the Filecoin org at https://github.com/filecoin-project/go-hamt-ipld. The package here is now just a shim.

go-hamt-ipld

Travis CI

This package is a reference implementation of the IPLD HAMT used in the Filecoin blockchain. It includes some optional flexibility such that it may be used for other purposes outside of Filecoin.

HAMT is a "hash array mapped trie". This implementation extends the standard form by including buckets for the key/value pairs at storage leaves and CHAMP mutation semantics. The CHAMP invariant and mutation rules provide us with the ability to maintain canonical forms given any set of keys and their values, regardless of insertion order and intermediate data insertion and deletion. Therefore, for any given set of keys and their values, a HAMT using the same parameters and CHAMP semantics, the root node should always produce the same content identifier (CID).

See https://godoc.org/github.com/ipfs/go-hamt-ipld for more information and API details.

License

MIT © Whyrusleeping

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].