Bitcoin-rs: an independent Bitcoin full node written in Rust

Sep 28 - Oct 16, 2026

  • The project [bitcoin-rs](https://github.com/gosuda/bitcoin-rs) introduces a novel approach to Bitcoin full node implementation utilizing the Rust programming language, offering an alternative to traditional models like Bitcoin Core.

This new implementation features a unified UTXO and script-index model that not only maintains the essential canonical UTXO set for validation but also facilitates queries commonly used by wallets and explorers through a read-only, Esplora-compatible script index. This integration reduces the reliance on separate Electrum indexers, enhancing the node's efficiency.

Bitcoin-rs is structured around a modular architecture that delineates clear failure boundaries among its components—consensus, chainstate, storage, networking, mempool, indexing, and orchestration. Such compartmentalization helps in maintaining simplicity and minimizing the risk of systemic failures. The performance optimizations are achieved by effectively managing synchronization, storage, memory, concurrency, I/O, and indexing processes. Additionally, bitcoin-rs supports script validation through both a native Rust implementation and libbitcoinkernel, the latter serving as a reference oracle to verify the accuracy of the Rust implementation.

To ensure the reliability and performance of bitcoin-rs, a robust verification framework is under development. This framework employs multiple independent references like libbitcoinkernel for consensus paths and bitcoinfuzz for differential and adversarial testing conditions, along with Bitcoin Core’s qa-assets corpus for edge cases testing. Custom regression tests and benchmarks are also included, focusing on synchronization, reorgs, recovery, and performance metrics. These measures are designed to make results reproducible when compared with Bitcoin Core, thus fostering trust in bitcoin-rs's capabilities. Developers and users can contribute to this ongoing project and access its resources via the project’s GitHub repository and the live mainnet explorer at bitcoin-rs-explorer.gosunuts.xyz.

Issues have arisen with the integration of libbitcoinkernel, particularly during header sync processes on the mainnet which initially halted at height 0. This issue was documented and discussed further in GitHub issue 1567. Subsequent fixes were implemented in updates 1571 and 1582, addressing the presync problem. Feedback from users about their experiences with libbitcoinkernel has been mixed, highlighting both positive aspects and areas needing improvement. Such feedback is crucial as it aids developers in refining the software to enhance its utility and user-friendliness.

Link to Raw Post
Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from high signal bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiDecoding BitcoinWarnet
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project.

Give Feedback