You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Operator configuration is CLI / conf first. Process env is only for
bootstrap, a single IO field hatch, and an unstable debug set listed
below. Do not grow env surface without a damn-good reason.
Survivors (production)
Env
Why it stays
RBITCOIN_LOG / RUST_LOG
Bootstrap logging before conf parse; CLI --log-level wins when set
RBITCOIN_IO
Field escape hatch: uring | pool | iocp | pread. Single bulk switch. pread disables the completion session. Unknown tokens (including deleted mmap) fall through to the default
RBITCOIN_P2P_MAX_INBOUND is an input when CLI/conf omit --max-inbound
(NodeConfig::absorb_inbound_env). The node does not set_var it.
Unstable (honored, not advertised)
Rare operator/debug reads. Prefer changing defaults in code. Not required
for signet/mainnet sync. Not CLI.
Env
Default
Role
RBITCOIN_BLOCK_QUEUE_GB
1
Densify assign-stop (GiB). 0 = unlimited. Never refuses enqueue for budget (undecodable wire is dropped)
RBITCOIN_BLOCK_QUEUE_BYTES
1 GiB
Same stop in bytes (wins over GB). 0 = unlimited
RBITCOIN_BULK_IO_WORKERS
backend default
pread worker count when RBITCOIN_IO=pread
RBITCOIN_CLASS_C_INRAM_MAX_MB
256
L2 cap for confirmed / header_txs_*; over → fd L0. strong_tx always L2
RBITCOIN_TX_HEAD_BITS
scale default
tx.head bits (dangerous on a live datadir)
RBITCOIN_TX_HEAD_REBUILD_SEAL_BITS
25
Wipe/empty-head MPHF range 2^bits (26 wider; clamp 6..=26)
RBITCOIN_TX_HEAD_REBUILD_WORKERS
min(n-cpu, free-RAM/1 GiB)
Wipe/empty-head MPHF parallelism (1 = serial). Unset = auto. Not the SH extract 1.5 GiB cap
RBITCOIN_HEAD_SLOTS_HEADER
scale default
Header hash-head initial slots (power of two)
RBITCOIN_SH_UNIQUE_HINT
off
SH unique-hint probe
RBITCOIN_SH_FORCE_REBUILD
off
Sticky SH rebuild (also in OPERATOR)
RBITCOIN_SH_MERGE_WORKERS
min(n-cpu, max(1, free-RAM/1.5 GiB))
SH extract (collect, merge, BDZ, fuse, pass 2, pack). 1 = serial. Unset = auto (see ibd-memory.md)
RBITCOIN_P2P_MAX_INBOUND
125
Only if --max-inbound / conf omitted
RBITCOIN_URING_DRAIN_HARD_SECS
120
drain_all zero-CQE abort (Linux/pool/IOCP). Raise if completions are slow but still arriving
RBITCOIN_RPC_WAIT_TIP_IDLE
off
getblockcount / getbestblockhash / wait_height wait until the tip-accept lane is empty. Default (unset) waits only for the job that was running when the RPC arrived. The Core-functional bitcoind shim sets 1 so sync_blocks stays deterministic. Not a production operator knob
RBITCOIN_RPC_PACKAGE_DIALECT
off
submitpackage uses Core IsChildWithParents (-25 package topology disallowed) and remaps a missing-inputs remainder whose in-package prevouts exceed maxfeerate to "max feerate exceeded". Default (unset) is sequential admit; that child stays bad-txns-inputs-missingorspent. The Core-functional bitcoind shim sets 1. Not a production operator knob