Skip to content
@rust-bitcoin

Rust Bitcoin Community

A Series of Projects to implement various Bitcoin Protocols in Rust

Rust Bitcoin Community

A Series of projects to implement various Bitcoin protocols in Rust.

TL;DR;

rust-bitcoin hosts the bitcoin crate that supports the Bitcoin network protocol and associated primitives. It is designed for Rust programs built to work with the Bitcoin network.

Core Crates

The "core" crates developed and maintained collectively by the rust-bitcoin devs. There is a list of official maintainers for the bitcoin crate, for other crates please see the git index to get an idea of who is who.

For these crates we hold ourselves to high standards relating to security, testing, release schedule, API design, and coding style. Our current focus is on stabilizing these crates1.

Name Crate Repository
base58 base58ck rust-bitcoin
bitcoin bitcoin rust-bitcoin
bitcoinconsensus bitcoinconsensus rust-bitcoinconsensus
bech32 bech32 rust-bech32
hashes bitcoin_hashes rust-bitcoin
hex hex-conservative hex-conservative
internals bitcoin-internals rust-bitcoin
io bitcoin-io rust-bitcoin
ordered ordered rust-ordered
secp256k1 secp256k1 rust-secp256k1
units bitcoin-units rust-bitcoin

We aim to make usage of these crates secure, ergonomic, and intuitive. We try to enable users of these crates to follow software engineering best practices e.g., semver compliance.

If we fall short of these stated aims, or can in anyway improve our support of Bitcoin free software projects, please raise issues or contact maintainers directly. For security related issues please see SECURITY.md.

If you write proprietary software and want better integration with these crates by all means raise issues on the respective repository. We are interested in all users and your usecase may help us improve the libraries, however all development is done in the open and will stay that way.

Other Crates

Other crates/repositories hosted here and developed and maintained by the community.

These crates are developed and maintained by a subset of the rust-bitcoin devs or other members of the community. We are fairly open about hosting any Bitcoin-related crates in this organization, provided that they are actively maintained. Other requirements are:

  • The repository contains Bitcoin-specific crates (implies Bitcoin-only and not general purpose crates).
  • The repository has at least minimal CI.
  • The author has made at least some effort to adhere to practices and standards maintained in the core crates (defined above).

These crates may not be reviewed or maintained by the primary rust-bitcoin maintainers. Keep this in mind when choosing to use them as dependencies. And as with any dependencies, you should review new versions rather than blindly upgrading.

Name Crate Repository
miniscript miniscript rust-miniscript
bitcoind bitcoind bitcoind
bitcoincore-rpc bitcoincore-rpc rust-bitcoincore-rpc
bip39 bip39 rust-bip39
bip47 bip47 rust-bip47
bip322 bip322 bip322
murmel murmel murmel
hammersbald hammersbald hammersbald
bitcoin-bech32 bitcoin-bech32 rust-bech32-bitcoin
corepc corepc corepc

Non-crate repositories

Repositories that are not crates (libraries).

Name Repository Description
maintainer-tools rust-bitcoin-maintainer-tools Scripts, test vectors, and other things used by or across multiple repositories in the rust-bitcoin ecosystem.
website rust-bitcoin.github.io Source for the organization website https://rust-bitcoin.org
workshop workshop Conference presentation material
.github .github Hosts this readme file

Archived crates

These crates have either been moved to another location or are no longer actively maintained.

Repository Crate or Description
rust-wallet Unmaintained bitcoin-wallet
rust-bitcoin-chain Unmaintained bitcoin-chain
bitcoin_hashes Moved to rust-bitcoin
rust-lightning-invoice Moved to rust-lightning
www.rust-bitcoin.org Moved to rust-bitcoin.github.io
bitcoind-json-rpc-client Unmaintained bitcoind-json-rpc-client
bitcoind-json-rpc-regtest Unmaintained bitcoind-json-rpc-regtest
bitcoind-json-rpc-types Unmaintained bitcoind-json-rpc-types

TODO

Footnotes

  1. Please note internals will explicitly never stabalize.

Popular repositories Loading

  1. rust-bitcoin rust-bitcoin Public

    Rust Bitcoin library

    Rust 2.2k 705

  2. rust-miniscript rust-miniscript Public

    Support for Miniscript and Output Descriptors for rust-bitcoin

    Rust 357 138

  3. rust-secp256k1 rust-secp256k1 Public

    Rust language bindings for Bitcoin secp256k1 library.

    C 354 271

  4. rust-bitcoincore-rpc rust-bitcoincore-rpc Public

    Rust RPC client library for the Bitcoin Core JSON-RPC API.

    Rust 347 261

  5. rust-wallet rust-wallet Public

    *archived* Library for a Bitcoin Wallet

    Rust 182 87

  6. murmel murmel Public

    Bitcoin SPV client in Rust.

    Rust 101 31

Repositories

Showing 10 of 29 repositories
  • rust-bitcoin Public

    Rust Bitcoin library

    rust-bitcoin/rust-bitcoin’s past year of commit activity
    Rust 2,173 CC0-1.0 705 286 (1 issue needs help) 91 Updated Dec 12, 2024
  • rust-secp256k1 Public

    Rust language bindings for Bitcoin secp256k1 library.

    rust-bitcoin/rust-secp256k1’s past year of commit activity
    C 354 CC0-1.0 271 60 17 Updated Dec 12, 2024
  • corepc Public

    Rust library for interacting with Bitcoin Core over JSONRPC

    rust-bitcoin/corepc’s past year of commit activity
    Rust 5 CC0-1.0 4 6 1 Updated Dec 6, 2024
  • bip324 Public

    encrypted messages over the Bitcoin P2P Protocol

    rust-bitcoin/bip324’s past year of commit activity
    Rust 25 4 0 0 Updated Dec 3, 2024
  • rust-miniscript Public

    Support for Miniscript and Output Descriptors for rust-bitcoin

    rust-bitcoin/rust-miniscript’s past year of commit activity
    Rust 357 CC0-1.0 138 59 (1 issue needs help) 27 Updated Dec 3, 2024
  • .github Public
    rust-bitcoin/.github’s past year of commit activity
    0 CC0-1.0 2 1 0 Updated Dec 3, 2024
  • rust-bech32 Public

    Bech32 format encoding and decoding

    rust-bitcoin/rust-bech32’s past year of commit activity
    Rust 94 MIT 51 3 4 Updated Nov 28, 2024
  • bitcoind Public

    Utility to launch a regtest bitcoind process in a rust test

    rust-bitcoin/bitcoind’s past year of commit activity
    Rust 41 MIT 35 17 (2 issues need help) 4 Updated Nov 27, 2024
  • hex-conservative Public

    Hex crate with a conservative MSRV and dependency policy

    rust-bitcoin/hex-conservative’s past year of commit activity
    Rust 8 CC0-1.0 9 7 (1 issue needs help) 0 Updated Nov 26, 2024
  • rust-bitcoind-json-rpc Public archive

    Support for Bitcoin Core's JSON-RPC API

    rust-bitcoin/rust-bitcoind-json-rpc’s past year of commit activity
    Rust 13 CC0-1.0 5 0 1 Updated Nov 26, 2024