corda / net.corda.core.crypto / MerkleTree

MerkleTree

sealed class MerkleTree

Creation and verification of a Merkle tree for a WireTransaction.

See: https://en.wikipedia.org/wiki/Merkle_tree

Transaction is split into following blocks: inputs, attachments' refs, outputs, commands, notary, signers, tx type, time-window. Merkle Tree is kept in a recursive data structure. Building is done bottom up, from all leaves' hashes. If number of leaves is not a power of two, the tree is padded with zero hashes.

Types

Leaf

data class Leaf : MerkleTree

Node

data class Node : MerkleTree

Properties

hash

abstract val hash: SecureHash

Companion Object Functions

getMerkleTree

fun getMerkleTree(allLeavesHashes: List<SecureHash>): MerkleTree

Merkle tree building using hashes, with zero hash padding to full power of 2.

fun getMerkleTree(allLeavesHashes: List<SecureHash>, nodeDigestService: DigestService): MerkleTree