neodata 0.1.0

Streaming fixed-memory 16-ary merkle tree with backend-agnostic storage
Documentation
  • Coverage
  • 83.78%
    31 out of 37 items documented1 out of 29 items with examples
  • Size
  • Source code size: 29.85 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.18 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 11s Average build duration of successful builds.
  • all releases: 19s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • slightknack/isocore
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • slightknack

Streaming fixed-memory merkle tree with backend-agnostic storage.

neodata implements a B-ary merkle tree (default B=16) that supports O(log_B N) incremental append using positional grouping. The tree's internal nodes are stored in a pluggable [Store] backend, keeping only the root hashes and entry count in memory.

Quick start

use neodata::{MerkleLog, MemStore};

let mut log = MerkleLog::<MemStore, 16>::new(MemStore::new());
let hash = log.append(b"hello").unwrap();
assert_eq!(log.length(), 1);