bitcoin-consensus-encoding 1.0.0

Consensus encoding and decoding
Documentation

Bitcoin Consensus Encoding

Sans-IO encoding and decoding support used by the rust-bitcoin ecosystem for objects that have a consensus-specified byte encoding.

History

Historically rust-bitcoin supported consensus encoding/decoding by way of the bitcoin::consensus module. This code included the std::io::Error type which turned out to be the cause of a lot of pain, including but not restricted to, creation of the bitcoin_io crate.

The solution was to re-write the consensus encoding/decoding logic using the sans-IO paradigm.

As part of developing this crate we fuzz against the latest bitcoin 0.32 release. If interested see rust-bitcoin/fuzz/fuzz_targets/bitcoin/compare_consensus_encoding.rs.