diff --git a/share/examples/bitcoin.conf b/share/examples/bitcoin.conf index 5bee4bf92e7..ab940402832 100644 --- a/share/examples/bitcoin.conf +++ b/share/examples/bitcoin.conf @@ -1 +1,685 @@ -# This is a placeholder file. Please follow the instructions in `contrib/devtools/README.md` to generate a bitcoin.conf file. +## +## bitcoin.conf configuration file. +## Generated by contrib/devtools/gen-bitcoin-conf.sh. +## +## Lines beginning with # are comments. +## All possible configuration options are provided. To use, copy this file +## to your data directory (default or specified by -datadir), uncomment +## options you would like to change, and save the file. +## + + +### Options + + +# Execute command when an alert is raised (%s in cmd is replaced by +# message) +#alertnotify= + +# If this block is in the chain assume that it and its ancestors are valid +# and potentially skip their script verification (0 to verify all, +# default: +# 00000000000000000009c97098b5295f7e5f183ac811fb5d1534040adb93cabd, +# testnet: +# 0000000000000004877fa2d36316398528de4f347df2f8a96f76613a298ce060, +# signet: +# 000000d1a0e224fa4679d2fb2187ba55431c284fa1b74cbc8cfda866fd4d2c09) +#assumevalid= + +# Maintain an index of compact filters by block (default: 0, values: +# basic). If is not supplied or if = 1, indexes for +# all known types are enabled. +#blockfilterindex= + +# Execute command when the best block changes (%s in cmd is replaced by +# block hash) +#blocknotify= + +# Extra transactions to keep in memory for compact block reconstructions +# (default: 100) +#blockreconstructionextratxn= + +# Specify directory to hold blocks subdirectory for *.dat files (default: +# ) +#blocksdir= + +# Whether to reject transactions from network peers. Automatic broadcast +# and rebroadcast of any transactions from inbound peers is +# disabled, unless the peer has the 'forcerelay' permission. RPC +# transactions are not affected. (default: 0) +#blocksonly=1 + +# Maintain coinstats index used by the gettxoutsetinfo RPC (default: 0) +#coinstatsindex=1 + +# Specify path to read-only configuration file. Relative paths will be +# prefixed by datadir location (only useable from command line, not +# configuration file) (default: bitcoin.conf) +#conf= + +# Run in the background as a daemon and accept commands (default: 0) +#daemon=1 + +# Wait for initialization to be finished before exiting. This implies +# -daemon (default: 0) +#daemonwait=1 + +# Specify data directory +#datadir= + +# Maximum database cache size MiB (4 to 16384, default: 450). In +# addition, unused mempool memory is shared for this cache (see +# -maxmempool). +#dbcache= + +# Specify location of debug log file. Relative paths will be prefixed by a +# net-specific datadir location. (-nodebuglogfile to disable; +# default: debug.log) +#debuglogfile= + +# Specify additional configuration file, relative to the -datadir path +# (only useable from configuration file, not command line) +#includeconf= + +# Imports blocks from external file on startup +#loadblock= + +# Keep the transaction memory pool below megabytes (default: 300) +#maxmempool= + +# Keep at most unconnectable transactions in memory (default: 100) +#maxorphantx= + +# Do not keep transactions in the mempool longer than hours (default: +# 336) +#mempoolexpiry= + +# Set the number of script verification threads (-10 to 15, 0 = auto, <0 = +# leave that many cores free, default: 0) +#par= + +# Whether to save the mempool on shutdown and load on restart (default: 1) +#persistmempool=1 + +# Specify pid file. Relative paths will be prefixed by a net-specific +# datadir location. (default: bitcoind.pid) +#pid= + +# Reduce storage requirements by enabling pruning (deleting) of old +# blocks. This allows the pruneblockchain RPC to be called to +# delete specific blocks and enables automatic pruning of old +# blocks if a target size in MiB is provided. This mode is +# incompatible with -txindex. Warning: Reverting this setting +# requires re-downloading the entire blockchain. (default: 0 = +# disable pruning blocks, 1 = allow manual pruning via RPC, >=550 = +# automatically prune block files to stay under the specified +# target size in MiB) +#prune= + +# Rebuild chain state and block index from the blk*.dat files on disk. +# This will also rebuild active optional indexes. +#reindex=1 + +# Rebuild chain state from the currently indexed blocks. When in pruning +# mode or if blocks on disk might be corrupted, use full -reindex +# instead. Deactivate all optional indexes before running this. +#reindex-chainstate=1 + +# Use the experimental syscall sandbox in the specified mode +# (-sandbox=log-and-abort or -sandbox=abort). Allow only expected +# syscalls to be used by bitcoind. Note that this is an +# experimental new feature that may cause bitcoind to exit or crash +# unexpectedly: use with caution. In the "log-and-abort" mode the +# invocation of an unexpected syscall results in a debug handler +# being invoked which will log the incident and terminate the +# program (without executing the unexpected syscall). In the +# "abort" mode the invocation of an unexpected syscall results in +# the entire process being killed immediately by the kernel without +# executing the unexpected syscall. +#sandbox= + +# Specify path to dynamic settings data file. Can be disabled with +# -nosettings. File is written at runtime and not meant to be +# edited by users (use bitcoin.conf instead for custom settings). +# Relative paths will be prefixed by datadir location. (default: +# settings.json) +#settings= + +# Execute command on startup. +#startupnotify= + +# Create new files with system default permissions, instead of umask 077 +# (only effective with disabled wallet functionality) +#sysperms=1 + +# Maintain a full transaction index, used by the getrawtransaction rpc +# call (default: 0) +#txindex=1 + +# Print version and exit +#version=1 + + +### Connection options + + +# Add a node to connect to and attempt to keep the connection open (see +# the addnode RPC help for more info). This option can be specified +# multiple times to add multiple nodes; connections are limited to +# 8 at a time and are counted separately from the -maxconnections +# limit. +#addnode= + +# Specify asn mapping used for bucketing of the peers (default: +# ip_asn.map). Relative paths will be prefixed by the net-specific +# datadir location. +#asmap= + +# Default duration (in seconds) of manually configured bans (default: +# 86400) +#bantime= + +# Bind to given address and always listen on it (default: 0.0.0.0). Use +# [host]:port notation for IPv6. Append =onion to tag any incoming +# connections to that address and port as incoming Tor connections +# (default: 127.0.0.1:8334=onion, testnet: 127.0.0.1:18334=onion, +# signet: 127.0.0.1:38334=onion, regtest: 127.0.0.1:18445=onion) +#bind=[:][=onion] + +# If set, then this host is configured for CJDNS (connecting to fc00::/8 +# addresses would lead us to the CJDNS network, see doc/cjdns.md) +# (default: 0) +#cjdnsreachable=1 + +# Connect only to the specified node; -noconnect disables automatic +# connections (the rules for this peer are the same as for +# -addnode). This option can be specified multiple times to connect +# to multiple nodes. +#connect= + +# Discover own IP addresses (default: 1 when listening and no -externalip +# or -proxy) +#discover=1 + +# Allow DNS lookups for -addnode, -seednode and -connect (default: 1) +#dns=1 + +# Query for peer addresses via DNS lookup, if low on addresses (default: 1 +# unless -connect used) +#dnsseed=1 + +# Specify your own public address +#externalip= + +# Allow fixed seeds if DNS seeds don't provide peers (default: 1) +#fixedseeds=1 + +# Always query for peer addresses via DNS lookup (default: 0) +#forcednsseed=1 + +# If set and -i2psam is also set then incoming I2P connections are +# accepted via the SAM proxy. If this is not set but -i2psam is set +# then only outgoing connections will be made to the I2P network. +# Ignored if -i2psam is not set. Listening for incoming I2P +# connections is done through the SAM proxy, not by binding to a +# local address and port (default: 1) +#i2pacceptincoming=1 + +# I2P SAM proxy to reach I2P peers and accept I2P connections (default: +# none) +#i2psam= + +# Accept connections from outside (default: 1 if no -proxy or -connect) +#listen=1 + +# Automatically create Tor onion service (default: 1) +#listenonion=1 + +# Maintain at most connections to peers (default: 125). This limit +# does not apply to connections manually added via -addnode or the +# addnode RPC, which have a separate limit of 8. +#maxconnections= + +# Maximum per-connection receive buffer, *1000 bytes (default: 5000) +#maxreceivebuffer= + +# Maximum per-connection send buffer, *1000 bytes (default: 1000) +#maxsendbuffer= + +# Maximum allowed median peer time offset adjustment. Local perspective of +# time may be influenced by outbound peers forward or backward by +# this amount (default: 4200 seconds). +#maxtimeadjustment=1 + +# Tries to keep outbound traffic under the given target per 24h. Limit +# does not apply to peers with 'download' permission or blocks +# created within past week. 0 = no limit (default: 0M). Optional +# suffix units [k|K|m|M|g|G|t|T] (default: M). Lowercase is 1000 +# base while uppercase is 1024 base +#maxuploadtarget= + +# Use NAT-PMP to map the listening port (default: 0) +#natpmp=1 + +# Enable all P2P network activity (default: 1). Can be changed by the +# setnetworkactive RPC command +#networkactive=1 + +# Use separate SOCKS5 proxy to reach peers via Tor onion services, set +# -noonion to disable (default: -proxy) +#onion= + +# Make automatic outbound connections only to network (ipv4, ipv6, +# onion, i2p, cjdns). Inbound and manual connections are not +# affected by this option. It can be specified multiple times to +# allow multiple networks. +#onlynet= + +# Serve compact block filters to peers per BIP 157 (default: 0) +#peerblockfilters=1 + +# Support filtering of blocks and transaction with bloom filters (default: +# 0) +#peerbloomfilters=1 + +# Relay non-P2SH multisig (default: 1) +#permitbaremultisig=1 + +# Listen for connections on . Nodes not using the default ports +# (default: 8333, testnet: 18333, signet: 38333, regtest: 18444) +# are unlikely to get incoming connections. Not relevant for I2P +# (see doc/i2p.md). +#port= + +# Connect through SOCKS5 proxy, set -noproxy to disable (default: +# disabled) +#proxy= + +# Randomize credentials for every proxy connection. This enables Tor +# stream isolation (default: 1) +#proxyrandomize=1 + +# Connect to a node to retrieve peer addresses, and disconnect. This +# option can be specified multiple times to connect to multiple +# nodes. +#seednode= + +# Specify socket connection timeout in milliseconds. If an initial attempt +# to connect is unsuccessful after this amount of time, drop it +# (minimum: 1, default: 5000) +#timeout= + +# Tor control port to use if onion listening enabled (default: +# 127.0.0.1:9051) +#torcontrol=: + +# Tor control port password (default: empty) +#torpassword= + +# Use UPnP to map the listening port (default: 0) +#upnp=1 + +# Bind to the given address and add permission flags to the peers +# connecting to it. Use [host]:port notation for IPv6. Allowed +# permissions: bloomfilter (allow requesting BIP37 filtered blocks +# and transactions), noban (do not ban for misbehavior; implies +# download), forcerelay (relay transactions that are already in the +# mempool; implies relay), relay (relay even in -blocksonly mode, +# and unlimited transaction announcements), mempool (allow +# requesting BIP35 mempool contents), download (allow getheaders +# during IBD, no disconnect after maxuploadtarget limit), addr +# (responses to GETADDR avoid hitting the cache and contain random +# records with the most up-to-date info). Specify multiple +# permissions separated by commas (default: +# download,noban,mempool,relay). Can be specified multiple times. +#whitebind=<[permissions@]addr> + +# Add permission flags to the peers connecting from the given IP address +# (e.g. 1.2.3.4) or CIDR-notated network (e.g. 1.2.3.0/24). Uses +# the same permissions as -whitebind. Can be specified multiple +# times. +#whitelist=<[permissions@]IP address or network> + + +### Wallet options + + +# What type of addresses to use ("legacy", "p2sh-segwit", "bech32", or +# "bech32m", default: "bech32") +#addresstype=1 + +# Group outputs by address, selecting many (possibly all) or none, instead +# of selecting on a per-output basis. Privacy is improved as +# addresses are mostly swept with fewer transactions and outputs +# are aggregated in clean change addresses. It may result in higher +# fees due to less optimal coin selection caused by this added +# limitation and possibly a larger-than-necessary number of inputs +# being used. Always enabled for wallets with "avoid_reuse" +# enabled, otherwise default: 0. +#avoidpartialspends=1 + +# What type of change to use ("legacy", "p2sh-segwit", "bech32", or +# "bech32m"). Default is "legacy" when -addresstype=legacy, else it +# is an implementation detail. +#changetype=1 + +# The maximum feerate (in BTC/kvB) at which transaction building may use +# more inputs than strictly necessary so that the wallet's UTXO +# pool can be reduced (default: 0.0001). +#consolidatefeerate= + +# Do not load the wallet and disable wallet RPC calls +#disablewallet=1 + +# The fee rate (in BTC/kvB) that indicates your tolerance for discarding +# change by adding it to the fee (default: 0.0001). Note: An output +# is discarded if it is dust at this rate, but we will always +# discard up to the dust relay fee and a discard fee above that is +# limited by the fee estimate for the longest target +#discardfee= + +# A fee rate (in BTC/kvB) that will be used when fee estimation has +# insufficient data. 0 to entirely disable the fallbackfee feature. +# (default: 0.00) +#fallbackfee= + +# Set key pool size to (default: 1000). Warning: Smaller sizes may +# increase the risk of losing funds when restoring from an old +# backup, if none of the addresses in the original keypool have +# been used. +#keypool= + +# Spend up to this amount in additional (absolute) fees (in BTC) if it +# allows the use of partial spend avoidance (default: 0.00) +#maxapsfee= + +# Fee rates (in BTC/kvB) smaller than this are considered zero fee for +# transaction creation (default: 0.00001) +#mintxfee= + +# Fee rate (in BTC/kvB) to add to transactions you send (default: 0.00) +#paytxfee= + +# External signing tool, see doc/external-signer.md +#signer= + +# Spend unconfirmed change when sending transactions (default: 1) +#spendzeroconfchange=1 + +# If paytxfee is not set, include enough fee so transactions begin +# confirmation on average within n blocks (default: 6) +#txconfirmtarget= + +# Specify wallet path to load at startup. Can be used multiple times to +# load multiple wallets. Path is to a directory containing wallet +# data and log files. If the path is not absolute, it is +# interpreted relative to . This only loads existing +# wallets and does not create new ones. For backwards compatibility +# this also accepts names of existing top-level data files in +# . +#wallet= + +# Make the wallet broadcast transactions (default: 1) +#walletbroadcast=1 + +# Specify directory to hold wallets (default: /wallets if it +# exists, otherwise ) +#walletdir= + +# Execute command when a wallet transaction changes. %s in cmd is replaced +# by TxID, %w is replaced by wallet name, %b is replaced by the +# hash of the block including the transaction (set to 'unconfirmed' +# if the transaction is not included) and %h is replaced by the +# block height (-1 if not included). %w is not currently +# implemented on windows. On systems where %w is supported, it +# should NOT be quoted because this would break shell escaping used +# to invoke the command. +#walletnotify= + +# Send transactions with full-RBF opt-in enabled (RPC only, default: 1) +#walletrbf=1 + + +### ZeroMQ notification options + + +# Enable publish hash block in
+#zmqpubhashblock=
+ +# Set publish hash block outbound message high water mark (default: 1000) +#zmqpubhashblockhwm= + +# Enable publish hash transaction in
+#zmqpubhashtx=
+ +# Set publish hash transaction outbound message high water mark (default: +# 1000) +#zmqpubhashtxhwm= + +# Enable publish raw block in
+#zmqpubrawblock=
+ +# Set publish raw block outbound message high water mark (default: 1000) +#zmqpubrawblockhwm= + +# Enable publish raw transaction in
+#zmqpubrawtx=
+ +# Set publish raw transaction outbound message high water mark (default: +# 1000) +#zmqpubrawtxhwm= + +# Enable publish hash block and tx sequence in
+#zmqpubsequence=
+ +# Set publish hash sequence message high water mark (default: 1000) +#zmqpubsequencehwm= + + +### Debugging/Testing options + + +# Output debug and trace logging (default: -nodebug, supplying +# is optional). If is not supplied or if = 1, +# output all debug and trace logging. can be: addrman, +# bench, blockstorage, cmpctblock, coindb, estimatefee, http, i2p, +# ipc, leveldb, libevent, mempool, mempoolrej, net, proxy, prune, +# qt, rand, reindex, rpc, selectcoins, tor, util, validation, +# walletdb, zmq. This option can be specified multiple times to +# output multiple categories. +#debug= + +# Exclude debug and trace logging for a category. Can be used in +# conjunction with -debug=1 to output debug and trace logging for +# all categories except the specified category. This option can be +# specified multiple times to exclude multiple categories. +#debugexclude= + +# Print help message with debugging options and exit +#help-debug=1 + +# Include IP addresses in debug output (default: 0) +#logips=1 + +# Prepend debug output with name of the originating source location +# (source file, line number and function name) (default: 0) +#logsourcelocations=1 + +# Prepend debug output with name of the originating thread (only available +# on platforms supporting thread_local) (default: 0) +#logthreadnames=1 + +# Prepend debug output with timestamp (default: 1) +#logtimestamps=1 + +# Maximum total fees (in BTC) to use in a single wallet transaction; +# setting this too low may abort large transactions (default: 0.10) +#maxtxfee= + +# Send trace/debug info to console (default: 1 when no -daemon. To disable +# logging to file, set -nodebuglogfile) +#printtoconsole=1 + +# Shrink debug.log file on client startup (default: 1 when no -debug) +#shrinkdebugfile=1 + +# Append comment to the user agent string +#uacomment= + + +### Chain selection options + + +# Use the chain (default: main). Allowed values: main, test, +# signet, regtest +#chain= + +# Use the signet chain. Equivalent to -chain=signet. Note that the network +# is defined by the -signetchallenge parameter +#signet=1 + +# Blocks must satisfy the given script to be considered valid (only for +# signet networks; defaults to the global default signet test +# network challenge) +#signetchallenge=1 + +# Specify a seed node for the signet network, in the hostname[:port] +# format, e.g. sig.net:1234 (may be used multiple times to specify +# multiple seed nodes; defaults to the global default signet test +# network seed node(s)) +#signetseednode=1 + +# Use the test chain. Equivalent to -chain=test. +#testnet=1 + + +### Node relay options + + +# Equivalent bytes per sigop in transactions for relay and mining +# (default: 20) +#bytespersigop=1 + +# Relay and mine data carrier transactions (default: 1) +#datacarrier=1 + +# Maximum size of data in data carrier transactions we relay and mine +# (default: 83) +#datacarriersize=1 + +# Accept transaction replace-by-fee without requiring replaceability +# signaling (default: 0) +#mempoolfullrbf=1 + +# Fees (in BTC/kvB) smaller than this are considered zero fee for +# relaying, mining and transaction creation (default: 0.00001) +#minrelaytxfee= + +# Add 'forcerelay' permission to whitelisted inbound peers with default +# permissions. This will relay transactions even if the +# transactions were already in the mempool. (default: 0) +#whitelistforcerelay=1 + +# Add 'relay' permission to whitelisted inbound peers with default +# permissions. This will accept relayed transactions even when not +# relaying transactions (default: 1) +#whitelistrelay=1 + + +### Block creation options + + +# Set maximum BIP141 block weight (default: 3996000) +#blockmaxweight= + +# Set lowest fee rate (in BTC/kvB) for transactions to be included in +# block creation. (default: 0.00001) +#blockmintxfee= + + +### RPC server options + + +# Accept public REST requests (default: 0) +#rest=1 + +# Allow JSON-RPC connections from specified source. Valid for are a +# single IP (e.g. 1.2.3.4), a network/netmask (e.g. +# 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This +# option can be specified multiple times +#rpcallowip= + +# Username and HMAC-SHA-256 hashed password for JSON-RPC connections. The +# field comes in the format: :$. A +# canonical python script is included in share/rpcauth. The client +# then connects normally using the +# rpcuser=/rpcpassword= pair of arguments. This +# option can be specified multiple times +#rpcauth= + +# Bind to given address to listen for JSON-RPC connections. Do not expose +# the RPC server to untrusted networks such as the public internet! +# This option is ignored unless -rpcallowip is also passed. Port is +# optional and overrides -rpcport. Use [host]:port notation for +# IPv6. This option can be specified multiple times (default: +# 127.0.0.1 and ::1 i.e., localhost) +#rpcbind=[:port] + +# Location of the auth cookie. Relative paths will be prefixed by a +# net-specific datadir location. (default: data dir) +#rpccookiefile= + +# Password for JSON-RPC connections +#rpcpassword= + +# Listen for JSON-RPC connections on (default: 8332, testnet: +# 18332, signet: 38332, regtest: 18443) +#rpcport= + +# Sets the serialization of raw transaction or block hex returned in +# non-verbose mode, non-segwit(0) or segwit(1) (default: 1) +#rpcserialversion=1 + +# Set the number of threads to service RPC calls (default: 4) +#rpcthreads= + +# Username for JSON-RPC connections +#rpcuser= + +# Set a whitelist to filter incoming RPC calls for a specific user. The +# field comes in the format: :,,...,. If multiple whitelists are set for a given user, +# they are set-intersected. See -rpcwhitelistdefault documentation +# for information on default whitelist behavior. +#rpcwhitelist= + +# Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault +# is set to 0, if any -rpcwhitelist is set, the rpc server acts as +# if all rpc users are subject to empty-unless-otherwise-specified +# whitelists. If rpcwhitelistdefault is set to 1 and no +# -rpcwhitelist is set, rpc server acts as if all rpc users are +# subject to empty whitelists. +#rpcwhitelistdefault=1 + +# Accept command line and JSON-RPC commands +#server=1 + + +# [Sections] +# Most options will apply to all networks. To confine an option to a specific +# network, add it under the relevant section below. +# +# Note: If not specified under a network section, the options addnode, connect, +# port, bind, rpcport, rpcbind, and wallet will only apply to mainnet. + +# Options for mainnet +[main] + +# Options for testnet +[test] + +# Options for signet +[signet] + +# Options for regtest +[regtest]