You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.0 KiB

asmt

asmt is a GoLang sparse merkle tree.

A forked of Aergo SMT with minor style code modifications and some new methods: Walk() WalkWithRoot() and GetWithRoot().

This module includes an abstraction layer to make the SMT more developer friendly with a very easy to use API:

  • Init(name, dataDir string) error
  • LastAccess() (timestamp int64)
  • Add(key, value []byte) error
  • AddBatch(keys, values [][]byte) (failedIndexes []int, err error)
  • GenProof(key, value []byte) (mproof []byte, err error)
  • CheckProof(key, value, root, mproof []byte) (included bool, err error)
  • Root() []byte
  • HashExists(hash []byte) (bool, error)
  • Dump(root []byte) (data []byte, err error) // Dump must return a format compatible with ImportDump
  • DumpPlain(root []byte) (keys [][]byte, values [][]byte, err error)
  • ImportDump(data []byte) error
  • Size(root []byte) (int64, error)
  • Snapshot(root []byte) (Tree, error) // Snapshot is a frozen trie on a specific Root hash that cannot be modified