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 701

  2. rust-miniscript rust-miniscript Public

    Support for Miniscript and Output Descriptors for rust-bitcoin

    Rust 355 138

  3. rust-secp256k1 rust-secp256k1 Public

    Rust language bindings for Bitcoin secp256k1 library.

    C 353 270

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

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

    Rust 343 258

  5. rust-wallet rust-wallet Public

    *archived* Library for a Bitcoin Wallet

    Rust 182 86

  6. murmel murmel Public

    Bitcoin SPV client in Rust.

    Rust 101 31

Repositories

Showing 10 of 29 repositories

Top languages

Loading…

Most used topics

Loading…