Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1##2## bitcoin.conf configuration file.3## Generated by contrib/devtools/gen-bitcoin-conf.sh.4##5## Lines beginning with # are comments.6## All possible configuration options are provided. To use, copy this file7## to your data directory (default or specified by -datadir), uncomment8## options you would like to change, and save the file.9##12### Options15# Execute command when an alert is raised (%s in cmd is replaced by16# message)17#alertnotify=<cmd>19# For backwards compatibility, treat an unused bitcoin.conf file in the20# datadir as a warning, not an error.21#allowignoredconf=123# If this block is in the chain assume that it and its ancestors are valid24# and potentially skip their script verification (0 to verify all,25# default:26# 00000000000000000000748969ec33043c0e52a763c6dd5193861f559f2c72e3,27# testnet3:28# 00000000b318a3703d14a844c55ef507f4c2fc8f8766e24271fd43c180c51637,29# testnet4:30# 0000000021df65b91665a342e26ceb05e54826ad7d8fcd40316230058fa3b865,31# signet:32# 00000002a5e0ba0498f1e9f4591af0b66b63c654665efe65206fd0ae7bbaf923)33#assumevalid=<hex>35# Maintain an index of compact filters by block (default: 0, values:36# basic). If <type> is not supplied or if <type> = 1, indexes for37# all known types are enabled.38#blockfilterindex=<type>40# Execute command when the best block changes (%s in cmd is replaced by41# block hash). Not run for blocks connected during initial block42# download or reindexing.43#blocknotify=<cmd>45# Extra transactions to keep in memory for compact block reconstructions46# (default: 100)47#blockreconstructionextratxn=<n>49# Specify directory to hold blocks subdirectory for *.dat files (default:50# <datadir>)51#blocksdir=<dir>53# Whether to reject transactions from network peers. Disables automatic54# broadcast and rebroadcast of transactions, unless the source peer55# has the 'forcerelay' permission. RPC transactions are not56# affected. (default: 0)57#blocksonly=159# Whether an XOR-key applies to blocksdir *.dat files. The created XOR-key60# will be zeros for an existing blocksdir or when `-blocksxor=0` is61# set, and random for a freshly initialized blocksdir. (default: 1)62#blocksxor=164# Maintain coinstats index used by the gettxoutsetinfo RPC (default: 0)65#coinstatsindex=167# Specify path to read-only configuration file. Relative paths will be68# prefixed by datadir location (only useable from command line, not69# configuration file) (default: bitcoin.conf)70#conf=<file>72# Run in the background as a daemon and accept commands (default: 0)73#daemon=175# Wait for initialization to be finished before exiting. This implies76# -daemon (default: 0)77#daemonwait=179# Specify data directory80#datadir=<dir>82# Maximum database cache size <n> MiB (minimum 4, default: 1024). Make83# sure you have enough RAM. In addition, unused memory allocated to84# the mempool is shared with this cache (see -maxmempool).85#dbcache=<n>87# Specify location of debug log file (default: debug.log). Relative paths88# will be prefixed by a net-specific datadir location. Pass89# -nodebuglogfile to disable writing the log to a file.90#debuglogfile=<file>92# Specify additional configuration file, relative to the -datadir path93# (only useable from configuration file, not command line)94#includeconf=<file>96# Imports blocks from an external file on startup. Obfuscated blocks are97# not supported.98#loadblock=<file>100# Keep the transaction memory pool below <n> megabytes (default: 300)101#maxmempool=<n>103# Do not keep transactions in the mempool longer than <n> hours (default:104# 336)105#mempoolexpiry=<n>107# Set the number of script verification threads (0 = auto, up to 15, <0 =108# leave that many cores free, default: 0)109#par=<n>111# Whether to save the mempool on shutdown and load on restart (default: 1)112#persistmempool=1114# Whether a mempool.dat file created by -persistmempool or the savemempool115# RPC will be written in the legacy format (version 1) or the116# current format (version 2). This temporary option will be removed117# in the future. (default: 0)118#persistmempoolv1=1120# Specify pid file. Relative paths will be prefixed by a net-specific121# datadir location. (default: bitcoind.pid)122#pid=<file>124# Set the number of threads used to prefetch block input prevouts from the125# chainstate database (0 disables, up to 16, default: 8). Negative126# values are rejected.127#prevoutfetchthreads=<n>129# Reduce storage requirements by enabling pruning (deleting) of old130# blocks. This allows the pruneblockchain RPC to be called to131# delete specific blocks and enables automatic pruning of old132# blocks if a target size in MiB is provided. This mode is133# incompatible with -txindex. Warning: Reverting this setting134# requires re-downloading the entire blockchain. Wallets and135# indexes should be loaded at startup and kept active while pruning136# is enabled so they stay synchronized before old block data is137# deleted; wallets or indexes that fall behind pruned data may138# require a reindex. (default: 0 = disable pruning blocks, 1 =139# allow manual pruning via RPC, >=550 = automatically prune block140# files to stay under the specified target size in MiB)141#prune=<n>143# If enabled, wipe chain state and block index, and rebuild them from144# blk*.dat files on disk. Also wipe and rebuild other optional145# indexes that are active. If an assumeutxo snapshot was loaded,146# its chainstate will be wiped as well. The snapshot can then be147# reloaded via RPC.148#reindex=1150# If enabled, wipe chain state, and rebuild it from blk*.dat files on151# disk. If an assumeutxo snapshot was loaded, its chainstate will152# be wiped as well. The snapshot can then be reloaded via RPC.153#reindex-chainstate=1155# Specify path to dynamic settings data file. Can be disabled with156# -nosettings. File is written at runtime and not meant to be157# edited by users (use bitcoin.conf instead for custom settings).158# Relative paths will be prefixed by datadir location. (default:159# settings.json)160#settings=<file>162# Execute command immediately before beginning shutdown. The need for163# shutdown may be urgent, so be careful not to delay it long (if164# the command doesn't require interaction with the server, consider165# having it fork into the background).166#shutdownnotify=<cmd>168# Execute command on startup.169#startupnotify=<cmd>171# Maintain a full transaction index, used by the getrawtransaction rpc172# call (default: 0)173#txindex=1175# Maintain a transaction output spender index, used by the176# gettxspendingprevout rpc call (default: 0)177#txospenderindex=1179# Print version and exit180#version=1183### Connection options186# Add a node to connect to and attempt to keep the connection open (see187# the addnode RPC help for more info). This option can be specified188# multiple times to add multiple nodes; connections are limited to189# 8 at a time and are counted separately from the -maxconnections190# limit.191#addnode=<ip>193# Specify asn mapping used for bucketing of the peers. Relative paths will194# be prefixed by the net-specific datadir location. If a bool arg195# is given (-asmap or -asmap=1), the embedded mapping data in the196# binary will be used.197#asmap=<file>199# Default duration (in seconds) of manually configured bans (default:200# 86400)201#bantime=<n>203# Bind to given address and always listen on it (default: 0.0.0.0). Use204# [host]:port notation for IPv6. Append =onion to tag any incoming205# connections to that address and port as incoming Tor connections206# (default: 127.0.0.1:8334=onion, testnet3: 127.0.0.1:18334=onion,207# testnet4: 127.0.0.1:48334=onion, signet: 127.0.0.1:38334=onion,208# regtest: 127.0.0.1:18445=onion)209#bind=<addr>[:<port>][=onion]211# If set, then this host is configured for CJDNS (connecting to fc00::/8212# addresses would lead us to the CJDNS network, see doc/cjdns.md)213# (default: 0)214#cjdnsreachable=1216# Connect only to the specified node; -noconnect disables automatic217# connections (the rules for this peer are the same as for218# -addnode). This option can be specified multiple times to connect219# to multiple nodes.220#connect=<ip>222# Discover own IP addresses (default: 1 when listening and no -externalip223# or -proxy)224#discover=1226# Allow DNS lookups for -addnode, -seednode and -connect (default: 1)227#dns=1229# Query for peer addresses via DNS lookup, if low on addresses (default: 1230# unless -connect used or -maxconnections=0)231#dnsseed=1233# Specify your own public address234#externalip=<ip>236# Allow fixed seeds if DNS seeds don't provide peers (default: 1)237#fixedseeds=1239# Always query for peer addresses via DNS lookup (default: 0)240#forcednsseed=1242# Whether to accept inbound I2P connections (default: 1). Ignored if243# -i2psam is not set. Listening for inbound I2P connections is done244# through the SAM proxy, not by binding to a local address and245# port.246#i2pacceptincoming=1248# I2P SAM proxy to reach I2P peers and accept I2P connections249#i2psam=<ip:port>
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.