summaryrefslogtreecommitdiffstats
path: root/examples/merkletree_blake3.rs
blob: 77ff2a05a6e656cb662d8708e5344bab8300163d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use mt_rs::{hasher::Blake3Hasher, merkletree::MerkleTree};

fn main() {
    // Collect filenames from command line arguments
    let filenames: Vec<String> = std::env::args().skip(1).collect();

    if filenames.is_empty() {
        eprintln!("Usage: cargo run --example merkletree_blake3 -- <file1> <file2> ...");
        std::process::exit(1);
    }

    // Read file contents into a vector of bytes
    let hasher = Blake3Hasher::new();

    let tree = MerkleTree::from_paths(hasher, filenames);

    println!("{}", tree.root().hash());
}