merkle_tree v1.2.1 MerkleTree.Proof

Generate and verify merkle proofs

## Usage Example
iex> proof = MerkleTree.new(~w/a b c d/) |>
...> MerkleTree.Proof.prove(1)
%MerkleTree.Proof{hash_function: &MerkleTree.Crypto.sha256/1,
 hashes: ["d3a0f1c792ccf7f1708d5422696263e35755a86917ea76ef9242bd4a8cf4891a",
  "ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb"]}
iex> MerkleTree.Proof.proven?({"b", 1}, "58c89d709329eb37285837b042ab6ff72c7c8f74de0446b091b6a0131c102cfd", proof)
true

Summary

Functions

Generates proof for a block at a specific index

Verifies proof for a block at a specific index

Types

t :: %MerkleTree.Proof{hash_function: MerkleTree.hash_function, hashes: [String.t, ...]}

Functions

prove(tree, index)

Specs

prove(MerkleTree.t, non_neg_integer) :: t

Generates proof for a block at a specific index

proven?(arg, root_hash, proof)

Specs

proven?({String.t, non_neg_integer}, String.t, t) :: boolean

Verifies proof for a block at a specific index