NOTE: Requires Go 1.20.12+
This is a Go library that implements a Sparse Merkle Trie for a key-value map.
The trie implements the same optimisations specified in the Libra whitepaper,
to reduce the number of hash operations required per trie operation to
Documentation for the different aspects of this library, the trie, proofs and all its different components can be found in the docs directory.
To run all tests (excluding benchmarks) run the following command:
make test_all
To test the badger
submodule that provides a more fully featured key-value
store, run the following command:
make test_badger
To run the full suite of benchmarks simply run the following command:
make benchmark_all
To view pre-ran results of the entire benchmarking suite see benchmarks