mrkl 0.0.4

Generic, minimalist, parallelizable Merkle tree
Documentation
#![cfg(test)]
#![cfg(all(feature = "serialization", feature = "digest"))]

extern crate mrkl;
extern crate serde_json;
extern crate sha2;

use mrkl::digest::ByteDigestHasher;
use mrkl::leaf;
use mrkl::tree::Builder;
use sha2::Sha256;

type Hasher = ByteDigestHasher<Sha256>;

const TEST_DATA: &'static [u8] = b"The quick brown fox jumps over the lazy dog";

#[test]
fn serialize() {
    let hasher = Hasher::new();
    let leaf_extractor = leaf::extract_with(|input: &[u8]| {
        String::from_utf8(input.to_vec()).unwrap()
    });
    let builder = Builder::from_hasher_leaf_data(hasher, leaf_extractor);
    let tree = builder.complete_tree_from(TEST_DATA.chunks(10)).unwrap();
    let json = serde_json::to_string_pretty(&tree).unwrap();
    println!("{}", json);
}