Skip to main content

Module serialization

Module serialization 

Source
Expand description

Bitcoin wire format serialization/deserialization

Consensus-critical serialization functions that must match consensus wire format exactly for consensus compatibility.

All serialization uses little-endian byte order (Bitcoin standard).

Modules§

block
Block header wire format serialization/deserialization
transaction
Transaction wire format serialization/deserialization
varint
Bitcoin VarInt encoding/decoding

Enums§

VarIntError
Error type for VarInt encoding/decoding failures

Functions§

decode_varint
Decode a Bitcoin VarInt from bytes
deserialize_block_header
Deserialize a block header from Bitcoin wire format
deserialize_block_with_witnesses
Deserialize a complete block from Bitcoin wire format (including witness data)
deserialize_transaction
Deserialize a transaction from Bitcoin wire format
deserialize_transaction_with_offset
Deserialize a transaction, returning (tx, bytes_consumed). Convenience wrapper that discards witness data.
deserialize_transaction_with_witness
Deserialize a transaction from Bitcoin wire format, returning transaction, witness, and bytes consumed
encode_varint
Encode a u64 value as a Bitcoin VarInt
serialize_block
Serialize a block without witness data (convenience for non-SegWit blocks)
serialize_block_header
Serialize a block header to Bitcoin wire format
serialize_block_with_witnesses
Serialize a complete block to Bitcoin wire format (including witness data)
serialize_transaction
Serialize a transaction to Bitcoin wire format
serialize_transaction_into
Serialize transaction into an existing buffer
serialize_transaction_with_witness
Serialize a transaction in SegWit wire format
validate_block_serialized_size
Validate that a serialized block size matches the size implied by the Block + Witness data