blvm-node 0.1.2

Bitcoin Commons BLVM: Minimal Bitcoin node implementation using blvm-protocol and blvm-consensus
# Mainnet IBD Configuration with Incremental Pruning
# This configuration enables incremental pruning during IBD with UTXO commitments

transport_preference = "tcponly"
listen_addr = "0.0.0.0:8333"
protocol_version = "BitcoinV1"

# Try this host early at startup (TOOLS.md LAN Core). IBD download filtering uses [ibd].preferred_peers / BLVM_IBD_PEERS.
persistent_peers = ["192.168.2.100:8333"]

[storage]
data_dir = "~/.local/share/blvm-mainnet"
database_backend = "rocksdb"
# TidesDB tuning (when database_backend = "tidesdb"):
# [storage.tidesdb]
# utxo_klog_threshold = 65536   # Values <= this stay inline (fast). 0 = all to vlog. Default 64KB.
# flush_threads = 4             # ENV BLVM_TIDESDB_FLUSH_THREADS overrides
# compact_threads = 4           # ENV BLVM_TIDESDB_COMPACT_THREADS overrides

[storage.pruning]
# Pruning mode: normal (utxo-commitments disabled during spec migration)
# Note: Incremental pruning still works, but without UTXO commitment verification
[storage.pruning.mode]
type = "normal"
keep_from_height = 0
min_recent_blocks = 144      # Keep at least 144 blocks

# Enable incremental pruning during IBD (keeps storage bounded)
incremental_prune_during_ibd = true
prune_window_size = 144              # Keep last 144 blocks (~1 day)
min_blocks_for_incremental_prune = 288  # Start pruning after 288 blocks (~2 days)
auto_prune = true
auto_prune_interval = 144
min_blocks_to_keep = 144

# IBD tuning (config file; ENV BLVM_IBD_* overrides at runtime)
# Optional throughput: BLVM_UTXO_PREFETCH_LOOKAHEAD (default 64) — try 96–128 on 32GB+ if memory allows.
[ibd]
chunk_size = 16
download_timeout_secs = 30
mode = "parallel"
preferred_peers = ["192.168.2.100:8333"]
# max_ahead_blocks = 512
# fifo: minimal per-block eviction overhead during IBD (dynamic can cost noticeably early chain)
eviction = "fifo"

[rpc]
max_request_size_bytes = 1048576  # 1MB (RPC/REST request body limit)

[logging]
level = "info"  # Use "debug" for more detail during sync