Module mrkl::tree [−][src]
The data model and construction facilities for Merkle trees.
The data of constructed, immutable Merkle trees are represented
by types MerkleTree
, Node
, LeafNode
, and HashNode
. All of these
types are comparable for equality with other of these types where it
makes sense, except that LeafNode
and HashNode
are not directly
comparable and never compare against the other type as equal when found
gisguised by MerkleTree
or Node
.
Each of the types also implements Eq
and std::hash::Hash
.
Practical uniqueness of the hash values in a Merkle tree is used to
provide fast implementations for the standard equality comparison and
hashing traits. However, if the hashing algorithm has been chosen
poorly, incorrect results may occur. Also note that leaf data never
figure in hashing or equality comparisons.
Modules
parallel |
Building Merkle trees in parallel. |
Structs
Builder |
The facility for constructing Merkle trees. |
Children |
An iterator over borrowed values of tree nodes, usually being the child nodes of a single hash node. |
EmptyTree |
The error value returned when a tree was attempted to be constructed from empty input. |
HashNode |
A value representing an internal node in Merkle tree. |
LeafNode |
A value representing a leaf node in a Merkle tree. |
MerkleTree |
A Merkle tree. |
Enums
Node |
A Merkle tree node, which can be either a leaf node or a hash node. |
Type Definitions
BuildResult |
A convenience type alias for the result type used by this crate. |