All Projects

Ouroboros

Hybrid Bitcoin full node in Rust + Python

Rust Python

About

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.

Completion 100%

Mainnet sync

Initial Block Download
75.5%
Block height
714,000
Sync rate
~180 blk/hr
ETA to tip
~53 days
Test vectors
1222/1222

Tech stack

Language
Rust + Python
Storage
RocksDB (via Rust FFI)
Crypto
libsecp256k1 (C FFI)
Lines of code
73,577

Quick start

terminal
$ git clone https://github.com/hashhog/ouroboros.git
$ cd ouroboros
$ cargo build --release
$ ./target/release/ouroboros --network=mainnet

Features

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 (1222/1222)
Testnet4 sync
Mainnet sync
BIP324 v2 transport