Skip to content

NOOSChain Nervos SMT Benchmark Utility

This is a sparse Merkle tree benchmark utility for benchmark:state-root-engine and the external SMT vector contract.

It wraps the maintained Rust sparse-merkle-tree crate from the Nervos ecosystem so NOOSChain can evaluate a native authenticated key-value map separately from the production sidecar under external/state-root-sidecar-nervos.

Important:

  • The utility currently uses the crate-native Blake2b hasher, so its root is not expected to match the iden3 JavaScript baseline.
  • The important first gate is internal determinism: ordered apply and rebuild from final materialized leaves must match.
  • Runtime block execution uses external/state-root-sidecar-nervos.

Run from the repository root:

powershell
npm run build:state-root-sidecar-nervos-benchmark
npm run benchmark:state-root-engine

On Linux/macOS the release binary path is:

bash
external/state-root-sidecar-nervos-tools/target/release/noos-smt-nervos-candidate

Audience-first NOOSChain documentation.