Skip to content

rust-bitcoin/rust-bech32

Repository files navigation

Rust Bech32

Docs.rs badge Continuous Integration

Rust implementation of the Bech32 encoding format described in BIP-0173 and Bech32m encoding format described in BIP-0350.

You can find some usage examples in the documentation.

Bitcoin-specific address encoding is handled by the bitcoin-bech32 crate.

MSRV

This library should always compile with any combination of features on Rust 1.48.0.

Githooks

To assist devs in catching errors before running CI we provide some githooks. If you do not already have locally configured githooks you can use the ones in this repository by running, in the root directory of the repository:

git config --local core.hooksPath githooks/

Alternatively add symlinks in your .git/hooks directory to any of the githooks we provide.

Benchmarks

We use a custom Rust compiler configuration conditional to guard the benchmark code. To run the benchmarks use: RUSTFLAGS='--cfg=bench' cargo +nightly bench.

API changes

All PRs that change the public API of rust-bech32 must include a patch to the api/ text files. For PRs that include API changes, add a separate patch to the PR that is the diff created by running contrib/check-for-api-changes.sh.