Method: Bitcoin::MerkleTree.build_initial_tree

Defined in:
lib/bitcoin/merkle_tree.rb

.build_initial_tree(nodes) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
# File 'lib/bitcoin/merkle_tree.rb', line 52

def self.build_initial_tree(nodes)
  while nodes.size != 1
    nodes = nodes.each_slice(2).map { |m|
      parent = Node.new
      parent.left = m[0]
      parent.right = m[1] ? m[1] : m[0].dup
      parent
    }
  end
  nodes.first
end