All Projects

Nimrod

Bitcoin full node in Nim

Nim

About

A Bitcoin full node in Nim combining Python-like syntax with C-like performance, with efficient memory management and metaprogramming.

Completion 100%

Mainnet sync

Initial Block Download
91.7%
Block height
867,000
Sync rate
~1,700 blk/hr
ETA to tip
~46 hours
Test vectors
1222/1222

Tech stack

Language
Nim
Storage
RocksDB + SQLite (wallet)
Crypto
libsecp256k1 (C FFI)
Lines of code
45,616

Quick start

terminal
$ git clone https://github.com/hashhog/nimrod.git
$ cd nimrod
$ nimble build
$ ./bin/nimrod --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