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§
- VarInt
Error - 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