go-hamt-ipld
![Travis CI](https://travis-ci.org/chenjianmei111/go-hamt-ipld.svg?branch=master)
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/chenjianmei111/go-hamt-ipld for more information and
API details.
License
MIT © Whyrusleeping