Skip to content
This repository has been archived by the owner on Jul 26, 2021. It is now read-only.

An implementation of a HAMT using ipld

License

Notifications You must be signed in to change notification settings

ipfs/go-hamt-ipld

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

An implementation of a HAMT using ipld

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 84.0%
  • Makefile 16.0%