Bitcoin. Every language. From scratch.
10 full node implementations. 10 languages. Zero forks of Bitcoin Core.
Every node syncs the real Bitcoin network, passing all 1,222 consensus test vectors.
Testnet4 network status
All 10 implementations connecting to Bitcoin's testnet4 network. Each node syncs independently via P2P, validating every block from genesis.
Ouroboros
Hybrid Bitcoin full node in Rust + Python
A high-performance Bitcoin full node combining Rust for the hot path and Python for scripting and extensibility. Features block sync, validation, and a full script interpreter.
Every node tells a different story
The same protocol, reimagined through the idioms and strengths of each language.
Ouroboros
Hybrid Bitcoin full node in Rust + Python
Rustoshi
Bitcoin full node from scratch in Rust
Blockbrew
Bitcoin full node in Go
Hotbuns
Bitcoin full node in TypeScript on Bun
Beamchain
Bitcoin full node in Erlang/OTP
Camlcoin
Bitcoin full node in OCaml
Clearbit
Bitcoin full node in Zig
Haskoin
Bitcoin full node in Haskell
Lunarblock
Bitcoin full node in Lua for LuaJIT
Nimrod
Bitcoin full node in Nim
What goes into a full node?
Every implementation covers the same foundational components that make Bitcoin work.
P2P Networking
Peer discovery, connection management, and message relay
Block Validation
Consensus rules, proof-of-work verification, script execution
UTXO Set
Unspent transaction output database and chain state tracking
Mempool
Unconfirmed transaction pool with fee-rate ordering
RPC Server
JSON-RPC API compatible with Bitcoin Core
Wallet
Key management, transaction signing, and HD derivation
Implementation matrix
How each implementation stacks up across core Bitcoin node features.
| Feature | Ouroboros Rust | Rustoshi Rust | Blockbrew Go | Hotbuns TypeScript | Beamchain Erlang | Camlcoin OCaml | Clearbit Zig | Haskoin Haskell | Lunarblock Lua | Nimrod Nim |
|---|---|---|---|---|---|---|---|---|---|---|
| Wire serialization | ||||||||||
| Cryptographic primitives | ||||||||||
| Script interpreter | ||||||||||
| P2P networking | ||||||||||
| Block validation | ||||||||||
| UTXO set management | ||||||||||
| Header sync | ||||||||||
| Block sync (IBD) | ||||||||||
| Mempool | ||||||||||
| RPC server | ||||||||||
| Wallet | ||||||||||
| Mining/block templates | ||||||||||
| Script test vectors | ||||||||||
| Testnet4 sync |
Want to contribute?
Every implementation is open source. Pick a language. Pick a feature. Start building.