Rust Bitcoin Library
This is a library that supports the Bitcoin network protocol and associated primitives. It is designed for Rust programs built to work with the Bitcoin network.
Except for its dependency on libsecp256k1 (and optionally libbitcoinconsensus), this library is written entirely in Rust. It illustrates the benefits of strong type safety, including ownership and lifetime, for financial and/or cryptographic software.
See README.md for detailed documentation about development and supported environments.
Available feature flags
std- the usual dependency onstd(default).secp-recovery- enables calculating public key from a signature and message.base64- (dependency), enables encoding of PSBTs and message signatures.rand- (dependency), makes it more convenient to generate random values.serde- (dependency), implementsserde-based serialization and deserialization.secp-lowmemory- optimizations for low-memory devices.bitcoinconsensus-std- enablesstdinbitcoinconsensusand communicates it to this crate so it knows how to implementstd::error::Error. At this time there's a hack to achieve the same without this feature but it could happen the implementations diverge one day.ordered- (dependency), adds implementations ofArbitraryOrdOrdto some structs.