Safe Haskell | None |
---|---|
Language | Haskell98 |
Merkle trees with double SHA-256
See https://en.bitcoin.it/wiki/Protocol_specification#Merkle_Trees
- data MerkleTree hash
- = MerkleNode hash (MerkleTree hash) (MerkleTree hash)
- | MerkleSingle hash (MerkleTree hash)
- | MerkleLeaf hash
- merkleRoot :: MerkleTree hash -> hash
- createMerkleTree :: OctetStream a => [a] -> MerkleTree Hash256
- buildMerkleTree :: [MerkleTree Hash256] -> MerkleTree Hash256
- merklePairs :: [a] -> [Either a (a, a)]
- merklePyramid :: MerkleTree hash -> [[hash]]
- viewMerkleTree :: Show hash => MerkleTree hash -> IO ()
Documentation
data MerkleTree hash Source #
MerkleNode hash (MerkleTree hash) (MerkleTree hash) | |
MerkleSingle hash (MerkleTree hash) | |
MerkleLeaf hash |
Show hash => Show (MerkleTree hash) Source # | |
merkleRoot :: MerkleTree hash -> hash Source #
The root of the tree
createMerkleTree :: OctetStream a => [a] -> MerkleTree Hash256 Source #
Creates a Merkle tree from data
buildMerkleTree :: [MerkleTree Hash256] -> MerkleTree Hash256 Source #
Builds a Merkle tree from data from a list of smaller Merkle trees
merklePairs :: [a] -> [Either a (a, a)] Source #
merklePyramid :: MerkleTree hash -> [[hash]] Source #
Converts the tree into a format easier to visualize for humans
viewMerkleTree :: Show hash => MerkleTree hash -> IO () Source #
For debugging (similar output to blockexporer)