Bitcoin full node and query server

Oct 4, 2025

View in context in the libbitcoin Slack #general mirror.

evoskuil15:07
[forks]
# Add check-sequence-verify op code, defaults to true (soft fork).
bip112 = <value>
# Use median time past for locktime, defaults to true (soft fork).
bip113 = <value>
# Segregated witness consensus layer, defaults to true (soft fork).
bip141 = <value>
# Witness version 0 (segwit), defaults to true (soft fork).
bip143 = <value>
# Prevent dummy value malleability, defaults to true (soft fork).
bip147 = <value>
# Add pay-to-script-hash processing, defaults to true (soft fork).
bip16 = <value>
# Disallow collision of unspent transaction hashes, defaults to true (soft fork).
bip30 = <value>
# Require coinbase input includes block height, defaults to true (soft fork).
bip34 = <value>
# Witness version 1 (taproot), defaults to true (soft fork).
bip341 = <value>
# Validation of taproot script, defaults to true (soft fork).
bip342 = <value>
# Finite monetary supply, defaults to true (soft fork).
bip42 = <value>
# Add check-locktime-verify op code, defaults to true (soft fork).
bip65 = <value>
# Require strict signature encoding, defaults to true (soft fork).
bip66 = <value>
# Add relative locktime enforcement, defaults to true (soft fork).
bip68 = <value>
# Assume bip34, bip65, and bip66 activation if enabled, defaults to true (hard fork).
bip90 = <value>
# Require difficult blocks, defaults to true (use false for testnet).
difficult = <value>
# Retarget difficulty, defaults to true.
retarget = <value>
# Fix target overflow for very low difficulty, defaults to false (hard fork).
retarget_overflow_patch = <value>
# Use scrypt hashing for proof of work, defaults to false (hard fork).
scrypt_proof_of_work = <value>
# Fix time warp bug, defaults to false (hard fork).
time_warp_patch = <value>

[log]
# Enable application logging, defaults to true.
application = <value>
# Enable local fault logging, defaults to true.
fault = <value>
# The maximum byte size of each pair of rotated log files, defaults to 1000000.
maximum_size = <value>
# Enable news logging, defaults to true.
news = <value>
# The log files directory, defaults to empty.
path = <value>
# Enable protocol logging, defaults to false.
protocol = <value>
# Enable proxy logging, defaults to false.
proxy = <value>
# Enable quitting logging, defaults to false.
quitting = <value>
# Enable remote fault logging, defaults to true.
remote = <value>
# Enable session logging, defaults to true.
session = <value>
# Path to windows debug build symbols file (.pdb).
symbols = <value>
# Enable verbose logging, defaults to false.
verbose = <value>

[network]
# The lower bound for address selection divisor, defaults to 5.
address_lower = <value>
# The upper bound for address selection divisor, defaults to 10.
address_upper = <value>
# IP address to bind, multiple entries allowed, defaults to 0.0.0.0:8333.
bind = <value>
# IP address to disallow as a peer, multiple entries allowed.
blacklist = <value>
# The age limit for any connection, defaults to 1440.
channel_expiration_minutes = <value>
# The time between ping messages, defaults to 5.
channel_heartbeat_minutes = <value>
# The inactivity time limit for any connection, defaults to 10.
channel_inactivity_minutes = <value>
# The number of concurrent attempts to establish one connection, defaults to 5.
connect_batch_size = <value>
# The time limit for connection establishment, defaults to 5.
connect_timeout_seconds = <value>
# Enable address messages, defaults to true.
enable_address = <value>
# Enable address v2 messages, defaults to false.
enable_address_v2 = <value>
# Enable alert messages, defaults to false.
enable_alert = <value>
# Enable enable compact block messages, defaults to false.
enable_compact = <value>
# Enable internet protocol version 6 (IPv6), defaults to false.
enable_ipv6 = <value>
# Allow connections from the node to itself, defaults to false.
enable_loopback = <value>
# Enable reject messages, defaults to false.
enable_reject = <value>
# Enable transaction relay, defaults to true.
enable_relay = <value>
# Enable witness transaction identifier relay, defaults to false.
enable_witness_tx = <value>
# The time limit to complete the connection handshake, defaults to 30.
handshake_timeout_seconds = <value>
# The maximum number of peer hosts in the pool, defaults to 10000.
host_pool_capacity = <value>
# The magic number for message headers, defaults to 3652501241.
identifier = <value>
# The target number of incoming network connections, defaults to 100.
inbound_connections = <value>
# The advertised services that cause a peer to be dropped, defaults to 176.
invalid_services = <value>
# The maximum allowable channel clock skew, defaults to 120.
maximum_skew_minutes = <value>
# The minimum retained read buffer size, defaults to 4000000.
minimum_buffer = <value>
# The target number of outgoing network connections, defaults to 100.
outbound_connections = <value>
# The peer address cache file directory, defaults to empty.
path = <value>
# A persistent peer node, multiple entries allowed.
peer = <value>
# The maximum network protocol version, defaults to 70012.
protocol_maximum = <value>
# The minimum network protocol version, defaults to 31800.
protocol_minimum = <value>
# The peer download rate limit in bytes per second, defaults to 1024 (not implemented).
rate_limit = <value>
# The time delay for failed connection retry, defaults to 1.
retry_timeout_seconds = <value>
# A seed node for initializing the host pool, multiple entries allowed.
seed = <value>
# The time limit for obtaining seed addresses, defaults to 30.
seeding_timeout_seconds = <value>
# IP address to advertise, multiple entries allowed.
self = <value>
# The maximum services exposed by network connections, defaults to 9 (full node, witness).
services_maximum = <value>
# The minimum services exposed by network connections, defaults to 9 (full node, witness).
services_minimum = <value>
# The minimum number of threads in the network threadpool, defaults to 16.
threads = <value>
# The node user agent string, defaults to '/libbitcoin:4.0.0/'.
user_agent = <value>
# Validate the checksum of network messages, defaults to false.
validate_checksum = <value>
# IP address to allow as a peer, multiple entries allowed.
whitelist = <value>

[node]
# Block deserialization buffer multiple of wire size, defaults to 20 (0 disables).
allocation_multiple = <value>
# Allowable underperformance standard deviation, defaults to 1.5 (0 disables).
allowed_deviation = <value>
# Limit of per channel cached peer block and tx announcements, to avoid replaying (defaults to 42).
announcement_cache = <value>
# Time from present that blocks are considered current, defaults to 60 (0 disables).
currency_window_minutes = <value>
# Delay accepting inbound connections until node is current, defaults to true.
delay_inbound = <value>
# Maximum number of blocks to download concurrently, defaults to '50000' (0 disables).
maximum_concurrency = <value>
# Maximum block height to populate, defaults to 0 (unlimited).
maximum_height = <value>
# Set the validation threadpool to high priority, defaults to true.
priority = <value>
# Sampling period for drop of stalled channels, defaults to 10 (0 disables).
sample_period_seconds = <value>
# The number of threads in the validation threadpool, defaults to 32.
threads = <value>

[server]
# IP address to bind, multiple entries allowed, defaults to 0.0.0.0:8080.
bind = <value>
# The target number of incoming network connections, defaults to 0.
inbound_connections = <value>
M
Marnix15:19
Right, so when you update the example config file, you just copy paste this one