Repolode
gosuda

gosuda/bitcoin-rs

An independent Bitcoin full node written in Rust, with Core-compatible P2P and RPC interfaces and embeddable node components.

Stars
58
Forks
6
Open issues
24
Last commit
2 days ago

What is it?

bitcoin-rs is a Bitcoin full-node daemon and a Rust workspace that can be embedded in other applications. It owns chainstate, storage, block sync, mempool, mining templates and external servers itself, while building on the rust-bitcoin library crates for low-level primitives.

The node exposes Core-compatible P2P, JSON-RPC, REST, ZMQ and Esplora HTTP interfaces. Its indexes (txindex, blockfilterindex and scriptindex) back the Esplora API and descriptor and PSBT helpers, and wallet keys stay outside the node. Script verification uses a native Rust interpreter by default, with an optional libbitcoinkernel backend behind a feature flag.

The project is built from source; no release binaries are published. Its compatibility is tested against Bitcoin Core 31.1 on regtest, and the README makes no production or mainnet readiness claims.

Key features

  • 01Core-compatible P2P networking with BIP324 v2 transport and compact blocks
  • 02JSON-RPC, REST, ZMQ and Esplora HTTP interfaces
  • 03Embeddable Node type that can be started and shut down from Rust code
  • 04Built-in txindex, blockfilterindex and scriptindex indexes
  • 05Selectable script verification: native Rust interpreter or libbitcoinkernel

Use cases

  • Running a regtest node to develop or test Bitcoin applications locally
  • Embedding a full node inside a Rust application instead of calling RPC
  • Serving Esplora-style APIs for explorers or wallet backends
  • Researching alternative node architectures while keeping Core-compatible behavior

Quick start

  1. 1

    Install the Rust toolchain and C/C++ build tools (build-essential on Debian/Ubuntu)

  2. 2

    Clone the repository

    git clone https://github.com/gosuda/bitcoin-rs.git
  3. 3

    Build the bitcoin-rs binary with the quickstart profile

    cargo build --locked --profile quickstart -p bitcoin-rs
  4. 4

    Start a local regtest node bound to loopback

    ./target/quickstart/bitcoin-rs --network regtest --data-dir .bitcoin-rs-regtest --p2p-listen 127.0.0.1:18444 --dns-seeds-enabled=false --rpc-bind 127.0.0.1:18443 --scriptindex=utxo &

Things to know

  • No GitHub Release binary is published, so you must build from source.
  • The README makes no parity or production-readiness claims, and some features such as wallet RPCs are intentionally unsupported.
  • Proactive block announcements still await a retained qualification run.
  • BIP352 Silent Payments and the Stratum V2 adapter are experimental.

Topics

#bitcoin#blockchain#full-node#rust#p2p#json-rpc#esplora#bitcoin-core#bitcoin-node#btc

FAQ

What is bitcoin-rs?
An independent Bitcoin full node written in Rust, with Core-compatible P2P and RPC interfaces and embeddable node components. bitcoin-rs is a Bitcoin full-node daemon and a Rust workspace that can be embedded in other applications. It owns chainstate, storage, block sync, mempool, mining templates and external servers itself, while building on the rust-bitcoin library crates for low-level primitives.
Is bitcoin-rs free to use? What license does it have?
bitcoin-rs is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is bitcoin-rs still maintained?
Actively maintained. The last commit to bitcoin-rs was on Nov 5, 2026.
What can I use bitcoin-rs for?
Running a regtest node to develop or test Bitcoin applications locally Embedding a full node inside a Rust application instead of calling RPC Serving Esplora-style APIs for explorers or wallet backends Researching alternative node architectures while keeping Core-compatible behavior
How do I install bitcoin-rs?
Install the Rust toolchain and C/C++ build tools (build-essential on Debian/Ubuntu) Clone the repository: git clone https://github.com/gosuda/bitcoin-rs.git Build the bitcoin-rs binary with the quickstart profile: cargo build --locked --profile quickstart -p bitcoin-rs Start a local regtest node bound to loopback: ./target/quickstart/bitcoin-rs --network regtest --data-dir .bitcoin-rs-regtest --p2p-listen 127.0.0.1:18444 --dns-seeds-enabled=false --rpc-bind 127.0.0.1:18443 --scriptindex=utxo &
Where can I get bitcoin-rs?
The source code and installation instructions are on GitHub: https://github.com/gosuda/bitcoin-rs

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects