72 lines
3 KiB
YAML
72 lines
3 KiB
YAML
|
|
# Bitcoin Knots Configuration Variables
|
||
|
|
|
||
|
|
# Version - REQUIRED: Specify exact version/tag to build
|
||
|
|
bitcoin_knots_version: "v29.2.knots20251110" # Must specify exact version/tag
|
||
|
|
bitcoin_knots_version_short: "29.2.knots20251110" # Version without 'v' prefix (for tarball URLs)
|
||
|
|
|
||
|
|
# Directories
|
||
|
|
bitcoin_knots_dir: /opt/bitcoin-knots
|
||
|
|
bitcoin_knots_source_dir: "{{ bitcoin_knots_dir }}/source"
|
||
|
|
bitcoin_data_dir: /var/lib/bitcoin # Standard location for config, logs, wallets
|
||
|
|
bitcoin_large_data_dir: /mnt/knots_data # Custom location for blockchain data (blocks, chainstate)
|
||
|
|
bitcoin_conf_dir: /etc/bitcoin
|
||
|
|
|
||
|
|
# Network
|
||
|
|
bitcoin_rpc_port: 8332
|
||
|
|
# Shared with the socket-proxy play on the edge host, so it lives in
|
||
|
|
# services_config.yml rather than only here.
|
||
|
|
bitcoin_p2p_port: "{{ service_settings.bitcoin.p2p_port }}"
|
||
|
|
bitcoin_rpc_bind: "0.0.0.0"
|
||
|
|
|
||
|
|
# Build options
|
||
|
|
bitcoin_build_jobs: 4 # Parallel build jobs (-j flag), adjust based on CPU cores
|
||
|
|
bitcoin_build_prefix: /usr/local
|
||
|
|
|
||
|
|
# Configuration options
|
||
|
|
bitcoin_enable_txindex: true # Set to true if transaction index needed (REQUIRED for Electrum servers like Electrs/ElectrumX)
|
||
|
|
bitcoin_max_connections: 125
|
||
|
|
# dbcache will be calculated as 90% of host RAM automatically in playbook
|
||
|
|
|
||
|
|
# ZMQ Configuration
|
||
|
|
bitcoin_zmq_enabled: true
|
||
|
|
bitcoin_zmq_bind: "tcp://0.0.0.0"
|
||
|
|
bitcoin_zmq_port_rawblock: 28332
|
||
|
|
bitcoin_zmq_port_rawtx: 28333
|
||
|
|
bitcoin_zmq_port_hashblock: 28334
|
||
|
|
bitcoin_zmq_port_hashtx: 28335
|
||
|
|
|
||
|
|
# Service user
|
||
|
|
bitcoin_user: bitcoin
|
||
|
|
bitcoin_group: bitcoin
|
||
|
|
|
||
|
|
# --- Health check ----------------------------------------------------------
|
||
|
|
# Checks bitcoind RPC and records the answer in its exit code, which systemd
|
||
|
|
# keeps: `systemctl is-failed bitcoin-knots-healthcheck.service`.
|
||
|
|
#
|
||
|
|
# WHERE TO REPORT HEALTH — the one place to plug in monitoring. Empty means
|
||
|
|
# check, exit honestly, report nowhere. Any endpoint accepting an HTTP ping
|
||
|
|
# works; nothing here is specific to a monitoring product.
|
||
|
|
healthcheck_push_url: ""
|
||
|
|
|
||
|
|
# --- Logging ----------------------------------------------------------------
|
||
|
|
# The live node logs to a file. Set to "" to use printtoconsole=1 (journald).
|
||
|
|
bitcoin_logfile: "{{ bitcoin_data_dir }}/debug.log"
|
||
|
|
|
||
|
|
# --- dbcache ----------------------------------------------------------------
|
||
|
|
# Computed as 90% of RAM unless this is set. The live node was hand-tuned to
|
||
|
|
# 200 MB; the calculation would have produced 3528. As with fulcrum, note that
|
||
|
|
# set_fact outranks role defaults, so the CALCULATION has to honour this - a
|
||
|
|
# value pinned only in defaults/ is silently ignored.
|
||
|
|
bitcoin_dbcache_mb_override: 200
|
||
|
|
|
||
|
|
# --- DATUM Gateway ----------------------------------------------------------
|
||
|
|
# This node feeds block templates to datum_gateway on knots-box. These settings
|
||
|
|
# were hand-added to bitcoin.conf and were missing from the template, so a
|
||
|
|
# playbook run would have removed them and broken the mining setup.
|
||
|
|
bitcoin_datum_gateway_enabled: true
|
||
|
|
bitcoin_blockmaxsize: 3985000
|
||
|
|
bitcoin_blockmaxweight: 3985000
|
||
|
|
bitcoin_blocknotify: "killall -USR1 datum_gateway"
|
||
|
|
bitcoin_maxmempool: 1000
|
||
|
|
bitcoin_blockreconstructionextratxn: 1000000
|