示例#1
0
def test_valid_serialization():

    tx_in = TxIn(OutPoint("ff" * 32, 0), Script())
    tx_out = TxOut(10, Script())
    tx = Tx([tx_in], [tx_out])
    assert tx == Tx.deserialize(tx.serialize())

    tx_in_2 = TxIn(OutPoint("ff" * 32, 1), Script())
    tx = Tx([tx_in, tx_in_2], [tx_out])
    assert tx == Tx.deserialize(tx.serialize())
 def deserialize(cls, data):
     header = BlockHeader.deserialize(data[:76])
     transactions = []
     transaction_count = int.from_bytes(data[76:78], "big")
     data = data[78:]
     for i in range(transaction_count):
         tx_size = int.from_bytes(data[:2], "big")
         transactions.append(Tx.deserialize(data[2:2 + tx_size]))
         data = data[2 + tx_size:]
     return Block(header, transactions)