mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-04-25 07:09:59 -07:00
brk_cli
Command-line interface for running the Bitcoin Research Kit.
What It Enables
Run a full BRK instance: index the blockchain, compute metrics, serve the API, and optionally host a web interface. Continuously syncs with new blocks.
Key Features
- All-in-one: Single binary runs indexer, computer, mempool monitor, and server
- Auto-sync: Waits for new blocks and processes them automatically
- Web interface: Downloads and bundles frontend from GitHub releases
- Configurable: TOML config for RPC, paths, and features
- Collision checking: Optional TXID collision validation mode
- Memory optimized: Uses mimalloc allocator, 512MB stack for deep recursion
Install
First, ensure Rust is up to date:
rustup update
Recommended (optimized for your CPU, auto-finds latest version):
RUSTFLAGS="-C target-cpu=native" cargo install --locked brk_cli --version "$(cargo search brk_cli | head -1 | awk -F'"' '{print $2}')"
Variants:
# Standard install (portable, latest stable only)
cargo install --locked brk_cli
# Specific version
cargo install --locked brk_cli --version "0.1.0-alpha.2"
See crates.io/crates/brk_cli/versions for all versions.
Update
Same as install - cargo replaces the existing binary:
rustup update
RUSTFLAGS="-C target-cpu=native" cargo install --locked brk_cli --version "$(cargo search brk_cli | head -1 | awk -F'"' '{print $2}')"
Requirements
- Bitcoin Core with accessible
blk*.datfiles - ~400 GB disk space
- 12+ GB RAM recommended
Usage
# See all options
brk --help
# The CLI will:
# 1. Index new blocks
# 2. Compute derived metrics
# 3. Start mempool monitor
# 4. Launch API server (port 3110)
# 5. Wait for new blocks and repeat
Components
- Indexer: Processes blocks into queryable indexes
- Computer: Derives 1000+ on-chain metrics
- Mempool: Real-time fee estimation
- Server: REST API with OpenAPI docs
- Bundler: JS bundling for web interface (if enabled)
Performance
See brk_computer for full pipeline benchmarks.
Built On
brk_indexerfor blockchain indexingbrk_computerfor metric computationbrk_mempoolfor mempool monitoringbrk_serverfor HTTP API