Beispiel #1
0
def update_merkle_root_to_match_coinbase(auxpow_header):
    coinbase = auxpow_header['parent_coinbase_tx']

    revised_coinbase_txid = auxpow.fast_txid(coinbase)

    revised_merkle_branch = [revised_coinbase_txid]

    revised_merkle_root = auxpow.calculate_merkle_root(
        revised_coinbase_txid, revised_merkle_branch,
        auxpow_header['coinbase_merkle_index'])

    auxpow_header['parent_header']['merkle_root'] = revised_merkle_root
    auxpow_header['coinbase_merkle_branch'] = revised_merkle_branch
def update_merkle_root_to_match_coinbase(auxpow_header):
    """Updates the parent block merkle root

    This modifies the merkle root in the auxpow's parent block header to
    match the auxpow coinbase transaction.  We need this after modifying
    the coinbase for tests.

    Note that this also breaks the PoW.  This is fine for tests that
    fail due to an earlier check already."""

    coinbase = auxpow_header['parent_coinbase_tx']

    revised_coinbase_txid = auxpow.fast_txid(coinbase)
    revised_merkle_branch = [revised_coinbase_txid]
    revised_merkle_root = auxpow.calculate_merkle_root(revised_coinbase_txid, revised_merkle_branch, auxpow_header['coinbase_merkle_index'])

    auxpow_header['parent_header']['merkle_root'] = revised_merkle_root
    auxpow_header['coinbase_merkle_branch'] = revised_merkle_branch