Struct merkle::MerkleTree[][src]

pub struct MerkleTree<T> {
    pub algorithm: &'static Algorithm,
    // some fields omitted
}

A Merkle tree is a binary tree, with values of type T at the leafs, and where every internal node holds the hash of the concatenation of the hashes of its children nodes.

Fields

The hashing algorithm used by this Merkle tree

Methods

impl<T> MerkleTree<T>
[src]

Constructs a Merkle Tree from a vector of data blocks. Returns None if values is empty.

Returns the root hash of Merkle tree

Returns the height of Merkle tree

Returns the number of leaves in the Merkle tree

Returns whether the Merkle tree is empty or not

Generate an inclusion proof for the given value. Returns None if the given value is not found in the tree.

Important traits for LeavesIterator<'a, T>

Creates an Iterator over the values contained in this Merkle tree.

Trait Implementations

impl<T: Clone> Clone for MerkleTree<T>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<T: Debug> Debug for MerkleTree<T>
[src]

Formats the value using the given formatter. Read more

impl<T: PartialEq> PartialEq for MerkleTree<T>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<T: Eq> Eq for MerkleTree<T>
[src]

impl<T: Ord> PartialOrd for MerkleTree<T>
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<T: Ord> Ord for MerkleTree<T>
[src]

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

impl<T: Hash> Hash for MerkleTree<T>
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl<T> IntoIterator for MerkleTree<T>
[src]

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

Creates a consuming iterator, that is, one that moves each value out of the Merkle tree. The tree cannot be used after calling this.

impl<'a, T> IntoIterator for &'a MerkleTree<T>
[src]

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

Creates a borrowing Iterator over the values contained in this Merkle tree.

Auto Trait Implementations

impl<T> Send for MerkleTree<T> where
    T: Send

impl<T> Sync for MerkleTree<T> where
    T: Sync