Skip to content

Releases: nervosnetwork/sparse-merkle-tree

v0.6.1

22 Nov 10:57
ad55535
Compare
Choose a tag to compare

This release is a major update to the previous version. It includes a storage optimization: a new feature flag trie allows users to store the branch data in an optimized way, this feature flag is disabled by default for compatibility with the previous version.

Comparing to the previous version, the trie feature can reduce the storage usage by 90% and improve the performance by 15x (see benchmark). Users need to migrate the storage data from the previous version to the new version if they want to enable the trie feature flag, the migration process is simply creating the smt tree and inserting all the leaves from the previous data.

Changes

  • feat: load root from store #32
  • feat: TrieTree implementation #34

v0.5.4

27 Sep 05:26
6579723
Compare
Choose a tag to compare

Changes

  • Implement Rust FFI wrapper of SMT C (#16, enable feature smtc to use it)
  • MerkleProof#compile use leaves keys only (#22)
  • Support extract compiled proof for sub leaves (#27)
  • Split Store trait into small ones (#30)

v0.5.3

15 Nov 08:05
55fa454
Compare
Choose a tag to compare

Changes since v0.5.2

  • Add SparseMerkleTree::update_all method

v0.5.2

24 Aug 03:05
08c7122
Compare
Choose a tag to compare

Changes since v0.5.1-rc1:

  • fix: pub BranchKey and BranchNode fields
  • fix(ckb_smt.h): C implementation behavior incorrect if the last command is 0x48
  • Optimize SMT implementation and reduce proof size
  • perf: Skip zero hash checks by introducing a new type.
  • feat: Use cxx compatible restrict

Fix replay to pass proof

15 Jul 08:49
35548cd
Compare
Choose a tag to compare
v0.5.0-rc1

Update README.md