mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-22 16:14:50 +01:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d82283950f | ||
|
|
910e3e8728 | ||
|
|
2d2a0a369e | ||
|
|
9442ea82da | ||
|
|
fe51aceeca | ||
|
|
bde54b7627 | ||
|
|
753c68dc0f | ||
|
|
c4da61b323 | ||
|
|
b3cd952495 | ||
|
|
a7116c8feb | ||
|
|
05f69b36d1 | ||
|
|
603f0368a5 | ||
|
|
5d381cfb6f | ||
|
|
f4be4d7447 | ||
|
|
c255fcb825 | ||
|
|
b6ff9c530d | ||
|
|
8f1b7e5cf9 | ||
|
|
b4fd211d2c | ||
|
|
7589ce3997 |
7
.github/workflows/ci.yml
vendored
7
.github/workflows/ci.yml
vendored
@@ -62,7 +62,7 @@ jobs:
|
||||
echo "TEST_BASE=$(git rev-list -n$((${{ env.MAX_COUNT }} + 1)) --reverse HEAD ^$(git rev-list -n1 --merges HEAD)^@ | head -1)" >> "$GITHUB_ENV"
|
||||
- run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install clang-15 ccache build-essential libtool autotools-dev automake pkg-config bsdmainutils python3-zmq libevent-dev libboost-dev libsqlite3-dev libdb++-dev systemtap-sdt-dev libminiupnpc-dev libnatpmp-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools qtwayland5 libqrencode-dev -y
|
||||
sudo apt-get install clang-15 ccache build-essential libtool autotools-dev automake pkg-config bsdmainutils python3-zmq libevent-dev libboost-dev libsqlite3-dev libdb++-dev systemtap-sdt-dev libminiupnpc-dev libnatpmp-dev qtbase5-dev qttools5-dev qttools5-dev-tools qtwayland5 libqrencode-dev -y
|
||||
- name: Compile and run tests
|
||||
run: |
|
||||
# Run tests on commits after the last merge commit and before the PR head commit
|
||||
@@ -96,7 +96,10 @@ jobs:
|
||||
- name: Install Homebrew packages
|
||||
env:
|
||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
|
||||
run: brew install automake libtool pkg-config gnu-getopt ccache boost libevent miniupnpc libnatpmp zeromq qt@5 qrencode
|
||||
run: |
|
||||
# A workaround for "The `brew link` step did not complete successfully" error.
|
||||
brew install python@3 || brew link --overwrite python@3
|
||||
brew install automake libtool pkg-config gnu-getopt ccache boost libevent miniupnpc libnatpmp zeromq qt@5 qrencode
|
||||
|
||||
- name: Set Ccache directory
|
||||
run: echo "CCACHE_DIR=${RUNNER_TEMP}/ccache_dir" >> "$GITHUB_ENV"
|
||||
|
||||
@@ -66,9 +66,10 @@ Discussion about codebase improvements happens in GitHub issues and pull
|
||||
requests.
|
||||
|
||||
The developer
|
||||
[mailing list](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev)
|
||||
[mailing list](https://groups.google.com/g/bitcoindev)
|
||||
should be used to discuss complicated or controversial consensus or P2P protocol changes before working on
|
||||
a patch set.
|
||||
Archives can be found on [https://gnusha.org/pi/bitcoindev/](https://gnusha.org/pi/bitcoindev/).
|
||||
|
||||
|
||||
Contributor Workflow
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export HOST=x86_64-apple-darwin
|
||||
export PIP_PACKAGES="zmq"
|
||||
# Homebrew's python@3.12 is marked as externally managed (PEP 668).
|
||||
# Therefore, `--break-system-packages` is needed.
|
||||
export PIP_PACKAGES="--break-system-packages zmq"
|
||||
export GOAL="install"
|
||||
export BITCOIN_CONFIG="--with-gui --with-miniupnpc --with-natpmp --enable-reduce-exports"
|
||||
export CI_OS_NAME="macos"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export CI_IMAGE_NAME_TAG="docker.io/ubuntu:22.04"
|
||||
export CI_IMAGE_NAME_TAG="docker.io/ubuntu:24.04"
|
||||
LIBCXX_DIR="/msan/cxx_build/"
|
||||
export MSAN_FLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -g -O1 -fno-optimize-sibling-calls"
|
||||
LIBCXX_FLAGS="-nostdinc++ -nostdlib++ -isystem ${LIBCXX_DIR}include/c++/v1 -L${LIBCXX_DIR}lib -Wl,-rpath,${LIBCXX_DIR}lib -lc++ -lc++abi -lpthread -Wno-unused-command-line-argument"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export CI_IMAGE_NAME_TAG="docker.io/ubuntu:22.04"
|
||||
export CI_IMAGE_NAME_TAG="docker.io/ubuntu:24.04"
|
||||
LIBCXX_DIR="/msan/cxx_build/"
|
||||
export MSAN_FLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -g -O1 -fno-optimize-sibling-calls"
|
||||
LIBCXX_FLAGS="-nostdinc++ -nostdlib++ -isystem ${LIBCXX_DIR}include/c++/v1 -L${LIBCXX_DIR}lib -Wl,-rpath,${LIBCXX_DIR}lib -lc++ -lc++abi -lpthread -Wno-unused-command-line-argument"
|
||||
|
||||
@@ -9,7 +9,7 @@ export LC_ALL=C.UTF-8
|
||||
export CI_IMAGE_NAME_TAG="docker.io/ubuntu:24.04"
|
||||
export CONTAINER_NAME=ci_native_tidy
|
||||
export TIDY_LLVM_V="17"
|
||||
export PACKAGES="clang-${TIDY_LLVM_V} libclang-${TIDY_LLVM_V}-dev llvm-${TIDY_LLVM_V}-dev libomp-${TIDY_LLVM_V}-dev clang-tidy-${TIDY_LLVM_V} jq bear libevent-dev libboost-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev systemtap-sdt-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libqrencode-dev libsqlite3-dev libdb++-dev"
|
||||
export PACKAGES="clang-${TIDY_LLVM_V} libclang-${TIDY_LLVM_V}-dev llvm-${TIDY_LLVM_V}-dev libomp-${TIDY_LLVM_V}-dev clang-tidy-${TIDY_LLVM_V} jq bear libevent-dev libboost-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev systemtap-sdt-dev qtbase5-dev qttools5-dev qttools5-dev-tools libqrencode-dev libsqlite3-dev libdb++-dev"
|
||||
export NO_DEPENDS=1
|
||||
export RUN_UNIT_TESTS=false
|
||||
export RUN_FUNCTIONAL_TESTS=false
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018-2022 The Bitcoin Core developers
|
||||
# Copyright (c) 2018-present The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
@@ -36,7 +36,7 @@ if [ -n "$PIP_PACKAGES" ]; then
|
||||
fi
|
||||
|
||||
if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then
|
||||
${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-17.0.6 /msan/llvm-project
|
||||
${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-18.1.1" /msan/llvm-project
|
||||
|
||||
cmake -G Ninja -B /msan/clang_build/ \
|
||||
-DLLVM_ENABLE_PROJECTS="clang" \
|
||||
@@ -53,13 +53,14 @@ if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then
|
||||
update-alternatives --install /usr/bin/llvm-symbolizer llvm-symbolizer /msan/clang_build/bin/llvm-symbolizer 100
|
||||
|
||||
cmake -G Ninja -B /msan/cxx_build/ \
|
||||
-DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi' \
|
||||
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DLLVM_USE_SANITIZER=MemoryWithOrigins \
|
||||
-DCMAKE_C_COMPILER=clang \
|
||||
-DCMAKE_CXX_COMPILER=clang++ \
|
||||
-DLLVM_TARGETS_TO_BUILD=Native \
|
||||
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
|
||||
-DLIBCXX_HARDENING_MODE=debug \
|
||||
-S /msan/llvm-project/runtimes
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ set -ex
|
||||
|
||||
export ASAN_OPTIONS="detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1"
|
||||
export LSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/lsan"
|
||||
export TSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/tsan:halt_on_error=1:log_path=${BASE_SCRATCH_DIR}/sanitizer-output/tsan"
|
||||
export TSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/tsan:halt_on_error=1"
|
||||
export UBSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1"
|
||||
|
||||
if [ "$CI_OS_NAME" == "macos" ]; then
|
||||
@@ -71,8 +71,6 @@ elif [ "$RUN_UNIT_TESTS" = "true" ] || [ "$RUN_UNIT_TESTS_SEQUENTIAL" = "true" ]
|
||||
fi
|
||||
fi
|
||||
|
||||
mkdir -p "${BASE_SCRATCH_DIR}/sanitizer-output/"
|
||||
|
||||
if [ "$USE_BUSY_BOX" = "true" ]; then
|
||||
echo "Setup to use BusyBox utils"
|
||||
# tar excluded for now because it requires passing in the exact archive type in ./depends (fixed in later BusyBox version)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
AC_PREREQ([2.69])
|
||||
define(_CLIENT_VERSION_MAJOR, 26)
|
||||
define(_CLIENT_VERSION_MINOR, 99)
|
||||
define(_CLIENT_VERSION_MAJOR, 27)
|
||||
define(_CLIENT_VERSION_MINOR, 0)
|
||||
define(_CLIENT_VERSION_BUILD, 0)
|
||||
define(_CLIENT_VERSION_RC, 0)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, false)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, true)
|
||||
define(_COPYRIGHT_YEAR, 2024)
|
||||
define(_COPYRIGHT_HOLDERS,[The %s developers])
|
||||
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Bitcoin Core]])
|
||||
|
||||
@@ -81,7 +81,7 @@ To build without GUI pass `--without-gui`.
|
||||
|
||||
To build with Qt 5 you need the following:
|
||||
|
||||
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools
|
||||
sudo apt-get install qtbase5-dev qttools5-dev qttools5-dev-tools
|
||||
|
||||
Additionally, to support Wayland protocol for modern desktop environments:
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ related to the DNS seed operation.
|
||||
If these expectations cannot be satisfied the operator should
|
||||
discontinue providing services and contact the active Bitcoin
|
||||
Core development team as well as posting on
|
||||
[bitcoin-dev](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev).
|
||||
[bitcoin-dev](https://groups.google.com/g/bitcoindev).
|
||||
|
||||
Behavior outside of these expectations may be reasonable in some
|
||||
situations but should be discussed in public in advance.
|
||||
|
||||
@@ -1,5 +1,181 @@
|
||||
.TH BITCOIN-CLI "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIN-CLI "1" "April 2024" "bitcoin-cli v27.0.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-cli \- manual page for bitcoin-cli
|
||||
bitcoin-cli \- manual page for bitcoin-cli v27.0.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Bitcoin Core\/\fR
|
||||
.br
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,-named <command> \/\fR[\fI\,name=value\/\fR]... \fI\,Send command to Bitcoin Core (with named arguments)\/\fR
|
||||
.br
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,help List commands\/\fR
|
||||
.br
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core RPC client version v27.0.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
.IP
|
||||
Print this help message and exit
|
||||
.HP
|
||||
\fB\-addrinfo\fR
|
||||
.IP
|
||||
Get the number of addresses known to the node, per network and total,
|
||||
after filtering for quality and recency. The total number of
|
||||
addresses known to the node may be higher.
|
||||
.HP
|
||||
\fB\-color=\fR<when>
|
||||
.IP
|
||||
Color setting for CLI output (default: auto). Valid values: always, auto
|
||||
(add color codes when standard output is connected to a terminal
|
||||
and OS is not WIN32), never.
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
Specify configuration file. Relative paths will be prefixed by datadir
|
||||
location. (default: bitcoin.conf)
|
||||
.HP
|
||||
\fB\-datadir=\fR<dir>
|
||||
.IP
|
||||
Specify data directory
|
||||
.HP
|
||||
\fB\-generate\fR
|
||||
.IP
|
||||
Generate blocks, equivalent to RPC getnewaddress followed by RPC
|
||||
generatetoaddress. Optional positional integer arguments are
|
||||
number of blocks to generate (default: 1) and maximum iterations
|
||||
to try (default: 1000000), equivalent to RPC generatetoaddress
|
||||
nblocks and maxtries arguments. Example: bitcoin\-cli \fB\-generate\fR 4
|
||||
1000
|
||||
.HP
|
||||
\fB\-getinfo\fR
|
||||
.IP
|
||||
Get general information from the remote server. Note that unlike
|
||||
server\-side RPC calls, the output of \fB\-getinfo\fR is the result of
|
||||
multiple non\-atomic requests. Some entries in the output may
|
||||
represent results from different states (e.g. wallet balance may
|
||||
be as of a different block from the chain state reported)
|
||||
.HP
|
||||
\fB\-named\fR
|
||||
.IP
|
||||
Pass named instead of positional arguments (default: false)
|
||||
.HP
|
||||
\fB\-netinfo\fR
|
||||
.IP
|
||||
Get network peer connection information from the remote server. An
|
||||
optional integer argument from 0 to 4 can be passed for different
|
||||
peers listings (default: 0). Pass "help" for detailed help
|
||||
documentation.
|
||||
.HP
|
||||
\fB\-rpcclienttimeout=\fR<n>
|
||||
.IP
|
||||
Timeout in seconds during HTTP requests, or 0 for no timeout. (default:
|
||||
900)
|
||||
.HP
|
||||
\fB\-rpcconnect=\fR<ip>
|
||||
.IP
|
||||
Send commands to node running on <ip> (default: 127.0.0.1)
|
||||
.HP
|
||||
\fB\-rpccookiefile=\fR<loc>
|
||||
.IP
|
||||
Location of the auth cookie. Relative paths will be prefixed by a
|
||||
net\-specific datadir location. (default: data dir)
|
||||
.HP
|
||||
\fB\-rpcpassword=\fR<pw>
|
||||
.IP
|
||||
Password for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcport=\fR<port>
|
||||
.IP
|
||||
Connect to JSON\-RPC on <port> (default: 8332, testnet: 18332, signet:
|
||||
38332, regtest: 18443)
|
||||
.HP
|
||||
\fB\-rpcuser=\fR<user>
|
||||
.IP
|
||||
Username for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcwait\fR
|
||||
.IP
|
||||
Wait for RPC server to start
|
||||
.HP
|
||||
\fB\-rpcwaittimeout=\fR<n>
|
||||
.IP
|
||||
Timeout in seconds to wait for the RPC server to start, or 0 for no
|
||||
timeout. (default: 0)
|
||||
.HP
|
||||
\fB\-rpcwallet=\fR<walletname>
|
||||
.IP
|
||||
Send RPC for non\-default wallet on RPC server (needs to exactly match
|
||||
corresponding \fB\-wallet\fR option passed to bitcoind). This changes
|
||||
the RPC endpoint used, e.g.
|
||||
http://127.0.0.1:8332/wallet/<walletname>
|
||||
.HP
|
||||
\fB\-stdin\fR
|
||||
.IP
|
||||
Read extra arguments from standard input, one per line until EOF/Ctrl\-D
|
||||
(recommended for sensitive information such as passphrases). When
|
||||
combined with \fB\-stdinrpcpass\fR, the first line from standard input
|
||||
is used for the RPC password.
|
||||
.HP
|
||||
\fB\-stdinrpcpass\fR
|
||||
.IP
|
||||
Read RPC password from standard input as a single line. When combined
|
||||
with \fB\-stdin\fR, the first line from standard input is used for the
|
||||
RPC password. When combined with \fB\-stdinwalletpassphrase\fR,
|
||||
\fB\-stdinrpcpass\fR consumes the first line, and \fB\-stdinwalletpassphrase\fR
|
||||
consumes the second.
|
||||
.HP
|
||||
\fB\-stdinwalletpassphrase\fR
|
||||
.IP
|
||||
Read wallet passphrase from standard input as a single line. When
|
||||
combined with \fB\-stdin\fR, the first line from standard input is used
|
||||
for the wallet passphrase.
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
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))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2024 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
@@ -1,5 +1,829 @@
|
||||
.TH BITCOIN-QT "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIN-QT "1" "April 2024" "bitcoin-qt v27.0.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-qt \- manual page for bitcoin-qt
|
||||
bitcoin-qt \- manual page for bitcoin-qt v27.0.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-qt
|
||||
[\fI\,command-line options\/\fR] [\fI\,URI\/\fR]
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core version v27.0.0
|
||||
.PP
|
||||
Optional URI is a Bitcoin address in BIP21 URI format.
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
.IP
|
||||
Print this help message and exit
|
||||
.HP
|
||||
\fB\-alertnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when an alert is raised (%s in cmd is replaced by
|
||||
message)
|
||||
.HP
|
||||
\fB\-allowignoredconf\fR
|
||||
.IP
|
||||
For backwards compatibility, treat an unused bitcoin.conf file in the
|
||||
datadir as a warning, not an error.
|
||||
.HP
|
||||
\fB\-assumevalid=\fR<hex>
|
||||
.IP
|
||||
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:
|
||||
000000000000000000026811d149d4d261995ec5b3f64f439a0a10e1a464af9a,
|
||||
testnet:
|
||||
000000000001323071f38f21ea5aae529ece491eadaccce506a59bcc2d968917,
|
||||
signet:
|
||||
0000000870f15246ba23c16e370a7ffb1fc8a3dcf8cb4492882ed4b0e3d4cd26)
|
||||
.HP
|
||||
\fB\-blockfilterindex=\fR<type>
|
||||
.IP
|
||||
Maintain an index of compact filters by block (default: 0, values:
|
||||
basic). If <type> is not supplied or if <type> = 1, indexes for
|
||||
all known types are enabled.
|
||||
.HP
|
||||
\fB\-blocknotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when the best block changes (%s in cmd is replaced by
|
||||
block hash)
|
||||
.HP
|
||||
\fB\-blockreconstructionextratxn=\fR<n>
|
||||
.IP
|
||||
Extra transactions to keep in memory for compact block reconstructions
|
||||
(default: 100)
|
||||
.HP
|
||||
\fB\-blocksdir=\fR<dir>
|
||||
.IP
|
||||
Specify directory to hold blocks subdirectory for *.dat files (default:
|
||||
<datadir>)
|
||||
.HP
|
||||
\fB\-blocksonly\fR
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-coinstatsindex\fR
|
||||
.IP
|
||||
Maintain coinstats index used by the gettxoutsetinfo RPC (default: 0)
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-daemon\fR
|
||||
.IP
|
||||
Run in the background as a daemon and accept commands (default: 0)
|
||||
.HP
|
||||
\fB\-daemonwait\fR
|
||||
.IP
|
||||
Wait for initialization to be finished before exiting. This implies
|
||||
\fB\-daemon\fR (default: 0)
|
||||
.HP
|
||||
\fB\-datadir=\fR<dir>
|
||||
.IP
|
||||
Specify data directory
|
||||
.HP
|
||||
\fB\-dbcache=\fR<n>
|
||||
.IP
|
||||
Maximum database cache size <n> MiB (4 to 16384, default: 450). In
|
||||
addition, unused mempool memory is shared for this cache (see
|
||||
\fB\-maxmempool\fR).
|
||||
.HP
|
||||
\fB\-debuglogfile=\fR<file>
|
||||
.IP
|
||||
Specify location of debug log file (default: debug.log). Relative paths
|
||||
will be prefixed by a net\-specific datadir location. Pass
|
||||
\fB\-nodebuglogfile\fR to disable writing the log to a file.
|
||||
.HP
|
||||
\fB\-includeconf=\fR<file>
|
||||
.IP
|
||||
Specify additional configuration file, relative to the \fB\-datadir\fR path
|
||||
(only useable from configuration file, not command line)
|
||||
.HP
|
||||
\fB\-loadblock=\fR<file>
|
||||
.IP
|
||||
Imports blocks from external file on startup
|
||||
.HP
|
||||
\fB\-maxmempool=\fR<n>
|
||||
.IP
|
||||
Keep the transaction memory pool below <n> megabytes (default: 300)
|
||||
.HP
|
||||
\fB\-maxorphantx=\fR<n>
|
||||
.IP
|
||||
Keep at most <n> unconnectable transactions in memory (default: 100)
|
||||
.HP
|
||||
\fB\-mempoolexpiry=\fR<n>
|
||||
.IP
|
||||
Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
336)
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
Set the number of script verification threads (0 = auto, up to 15, <0 =
|
||||
leave that many cores free, default: 0)
|
||||
.HP
|
||||
\fB\-persistmempool\fR
|
||||
.IP
|
||||
Whether to save the mempool on shutdown and load on restart (default: 1)
|
||||
.HP
|
||||
\fB\-persistmempoolv1\fR
|
||||
.IP
|
||||
Whether a mempool.dat file created by \fB\-persistmempool\fR or the savemempool
|
||||
RPC will be written in the legacy format (version 1) or the
|
||||
current format (version 2). This temporary option will be removed
|
||||
in the future. (default: 0)
|
||||
.HP
|
||||
\fB\-pid=\fR<file>
|
||||
.IP
|
||||
Specify pid file. Relative paths will be prefixed by a net\-specific
|
||||
datadir location. (default: bitcoind.pid)
|
||||
.HP
|
||||
\fB\-prune=\fR<n>
|
||||
.IP
|
||||
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 \fB\-txindex\fR. 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)
|
||||
.HP
|
||||
\fB\-reindex\fR
|
||||
.IP
|
||||
If enabled, wipe chain state and block index, and rebuild them from
|
||||
blk*.dat files on disk. Also wipe and rebuild other optional
|
||||
indexes that are active. If an assumeutxo snapshot was loaded,
|
||||
its chainstate will be wiped as well. The snapshot can then be
|
||||
reloaded via RPC.
|
||||
.HP
|
||||
\fB\-reindex\-chainstate\fR
|
||||
.IP
|
||||
If enabled, wipe chain state, and rebuild it from blk*.dat files on
|
||||
disk. If an assumeutxo snapshot was loaded, its chainstate will
|
||||
be wiped as well. The snapshot can then be reloaded via RPC.
|
||||
.HP
|
||||
\fB\-settings=\fR<file>
|
||||
.IP
|
||||
Specify path to dynamic settings data file. Can be disabled with
|
||||
\fB\-nosettings\fR. 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)
|
||||
.HP
|
||||
\fB\-shutdownnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command immediately before beginning shutdown. The need for
|
||||
shutdown may be urgent, so be careful not to delay it long (if
|
||||
the command doesn't require interaction with the server, consider
|
||||
having it fork into the background).
|
||||
.HP
|
||||
\fB\-startupnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command on startup.
|
||||
.HP
|
||||
\fB\-txindex\fR
|
||||
.IP
|
||||
Maintain a full transaction index, used by the getrawtransaction rpc
|
||||
call (default: 0)
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.PP
|
||||
Connection options:
|
||||
.HP
|
||||
\fB\-addnode=\fR<ip>
|
||||
.IP
|
||||
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 \fB\-maxconnections\fR
|
||||
limit.
|
||||
.HP
|
||||
\fB\-asmap=\fR<file>
|
||||
.IP
|
||||
Specify asn mapping used for bucketing of the peers (default:
|
||||
ip_asn.map). Relative paths will be prefixed by the net\-specific
|
||||
datadir location.
|
||||
.HP
|
||||
\fB\-bantime=\fR<n>
|
||||
.IP
|
||||
Default duration (in seconds) of manually configured bans (default:
|
||||
86400)
|
||||
.HP
|
||||
\fB\-bind=\fR<addr>[:<port>][=onion]
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-cjdnsreachable\fR
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-connect=\fR<ip>
|
||||
.IP
|
||||
Connect only to the specified node; \fB\-noconnect\fR disables automatic
|
||||
connections (the rules for this peer are the same as for
|
||||
\fB\-addnode\fR). This option can be specified multiple times to connect
|
||||
to multiple nodes.
|
||||
.HP
|
||||
\fB\-discover\fR
|
||||
.IP
|
||||
Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
|
||||
or \fB\-proxy\fR)
|
||||
.HP
|
||||
\fB\-dns\fR
|
||||
.IP
|
||||
Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
|
||||
.HP
|
||||
\fB\-dnsseed\fR
|
||||
.IP
|
||||
Query for peer addresses via DNS lookup, if low on addresses (default: 1
|
||||
unless \fB\-connect\fR used or \fB\-maxconnections\fR=\fI\,0\/\fR)
|
||||
.HP
|
||||
\fB\-externalip=\fR<ip>
|
||||
.IP
|
||||
Specify your own public address
|
||||
.HP
|
||||
\fB\-fixedseeds\fR
|
||||
.IP
|
||||
Allow fixed seeds if DNS seeds don't provide peers (default: 1)
|
||||
.HP
|
||||
\fB\-forcednsseed\fR
|
||||
.IP
|
||||
Always query for peer addresses via DNS lookup (default: 0)
|
||||
.HP
|
||||
\fB\-i2pacceptincoming\fR
|
||||
.IP
|
||||
Whether to accept inbound I2P connections (default: 1). Ignored if
|
||||
\fB\-i2psam\fR is not set. Listening for inbound I2P connections is done
|
||||
through the SAM proxy, not by binding to a local address and
|
||||
port.
|
||||
.HP
|
||||
\fB\-i2psam=\fR<ip:port>
|
||||
.IP
|
||||
I2P SAM proxy to reach I2P peers and accept I2P connections (default:
|
||||
none)
|
||||
.HP
|
||||
\fB\-listen\fR
|
||||
.IP
|
||||
Accept connections from outside (default: 1 if no \fB\-proxy\fR, \fB\-connect\fR or
|
||||
\fB\-maxconnections\fR=\fI\,0\/\fR)
|
||||
.HP
|
||||
\fB\-listenonion\fR
|
||||
.IP
|
||||
Automatically create Tor onion service (default: 1)
|
||||
.HP
|
||||
\fB\-maxconnections=\fR<n>
|
||||
.IP
|
||||
Maintain at most <n> automatic connections to peers (default: 125). This
|
||||
limit does not apply to connections manually added via \fB\-addnode\fR
|
||||
or the addnode RPC, which have a separate limit of 8.
|
||||
.HP
|
||||
\fB\-maxreceivebuffer=\fR<n>
|
||||
.IP
|
||||
Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
|
||||
.HP
|
||||
\fB\-maxsendbuffer=\fR<n>
|
||||
.IP
|
||||
Maximum per\-connection memory usage for the send buffer, <n>*1000 bytes
|
||||
(default: 1000)
|
||||
.HP
|
||||
\fB\-maxtimeadjustment\fR
|
||||
.IP
|
||||
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).
|
||||
.HP
|
||||
\fB\-maxuploadtarget=\fR<n>
|
||||
.IP
|
||||
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
|
||||
.HP
|
||||
\fB\-natpmp\fR
|
||||
.IP
|
||||
Use NAT\-PMP to map the listening port (default: 0)
|
||||
.HP
|
||||
\fB\-networkactive\fR
|
||||
.IP
|
||||
Enable all P2P network activity (default: 1). Can be changed by the
|
||||
setnetworkactive RPC command
|
||||
.HP
|
||||
\fB\-onion=\fR<ip:port>
|
||||
.IP
|
||||
Use separate SOCKS5 proxy to reach peers via Tor onion services, set
|
||||
\fB\-noonion\fR to disable (default: \fB\-proxy\fR)
|
||||
.HP
|
||||
\fB\-onlynet=\fR<net>
|
||||
.IP
|
||||
Make automatic outbound connections only to network <net> (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.
|
||||
.HP
|
||||
\fB\-peerblockfilters\fR
|
||||
.IP
|
||||
Serve compact block filters to peers per BIP 157 (default: 0)
|
||||
.HP
|
||||
\fB\-peerbloomfilters\fR
|
||||
.IP
|
||||
Support filtering of blocks and transaction with bloom filters (default:
|
||||
0)
|
||||
.HP
|
||||
\fB\-port=\fR<port>
|
||||
.IP
|
||||
Listen for connections on <port>. 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).
|
||||
.HP
|
||||
\fB\-proxy=\fR<ip:port>
|
||||
.IP
|
||||
Connect through SOCKS5 proxy, set \fB\-noproxy\fR to disable (default:
|
||||
disabled)
|
||||
.HP
|
||||
\fB\-proxyrandomize\fR
|
||||
.IP
|
||||
Randomize credentials for every proxy connection. This enables Tor
|
||||
stream isolation (default: 1)
|
||||
.HP
|
||||
\fB\-seednode=\fR<ip>
|
||||
.IP
|
||||
Connect to a node to retrieve peer addresses, and disconnect. This
|
||||
option can be specified multiple times to connect to multiple
|
||||
nodes.
|
||||
.HP
|
||||
\fB\-timeout=\fR<n>
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-torcontrol=\fR<ip>:<port>
|
||||
.IP
|
||||
Tor control host and port to use if onion listening enabled (default:
|
||||
127.0.0.1:9051). If no port is specified, the default port of
|
||||
9051 will be used.
|
||||
.HP
|
||||
\fB\-torpassword=\fR<pass>
|
||||
.IP
|
||||
Tor control port password (default: empty)
|
||||
.HP
|
||||
\fB\-upnp\fR
|
||||
.IP
|
||||
Use UPnP to map the listening port (default: 1 when listening and no
|
||||
\fB\-proxy\fR)
|
||||
.HP
|
||||
\fB\-v2transport\fR
|
||||
.IP
|
||||
Support v2 transport (default: 1)
|
||||
.HP
|
||||
\fB\-whitebind=\fR<[permissions@]addr>
|
||||
.IP
|
||||
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 \fB\-blocksonly\fR 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.
|
||||
.HP
|
||||
\fB\-whitelist=\fR<[permissions@]IP address or network>
|
||||
.IP
|
||||
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 \fB\-whitebind\fR. Can be specified multiple
|
||||
times.
|
||||
.PP
|
||||
Wallet options:
|
||||
.HP
|
||||
\fB\-addresstype\fR
|
||||
.IP
|
||||
What type of addresses to use ("legacy", "p2sh\-segwit", "bech32", or
|
||||
"bech32m", default: "bech32")
|
||||
.HP
|
||||
\fB\-avoidpartialspends\fR
|
||||
.IP
|
||||
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.
|
||||
.HP
|
||||
\fB\-changetype\fR
|
||||
.IP
|
||||
What type of change to use ("legacy", "p2sh\-segwit", "bech32", or
|
||||
"bech32m"). Default is "legacy" when \fB\-addresstype\fR=\fI\,legacy\/\fR, else it
|
||||
is an implementation detail.
|
||||
.HP
|
||||
\fB\-consolidatefeerate=\fR<amt>
|
||||
.IP
|
||||
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).
|
||||
.HP
|
||||
\fB\-disablewallet\fR
|
||||
.IP
|
||||
Do not load the wallet and disable wallet RPC calls
|
||||
.HP
|
||||
\fB\-discardfee=\fR<amt>
|
||||
.IP
|
||||
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
|
||||
.HP
|
||||
\fB\-fallbackfee=\fR<amt>
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-keypool=\fR<n>
|
||||
.IP
|
||||
Set key pool size to <n> (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.
|
||||
.HP
|
||||
\fB\-maxapsfee=\fR<n>
|
||||
.IP
|
||||
Spend up to this amount in additional (absolute) fees (in BTC) if it
|
||||
allows the use of partial spend avoidance (default: 0.00)
|
||||
.HP
|
||||
\fB\-mintxfee=\fR<amt>
|
||||
.IP
|
||||
Fee rates (in BTC/kvB) smaller than this are considered zero fee for
|
||||
transaction creation (default: 0.00001)
|
||||
.HP
|
||||
\fB\-paytxfee=\fR<amt>
|
||||
.IP
|
||||
Fee rate (in BTC/kvB) to add to transactions you send (default: 0.00)
|
||||
.HP
|
||||
\fB\-signer=\fR<cmd>
|
||||
.IP
|
||||
External signing tool, see doc/external\-signer.md
|
||||
.HP
|
||||
\fB\-spendzeroconfchange\fR
|
||||
.IP
|
||||
Spend unconfirmed change when sending transactions (default: 1)
|
||||
.HP
|
||||
\fB\-txconfirmtarget=\fR<n>
|
||||
.IP
|
||||
If paytxfee is not set, include enough fee so transactions begin
|
||||
confirmation on average within n blocks (default: 6)
|
||||
.HP
|
||||
\fB\-wallet=\fR<path>
|
||||
.IP
|
||||
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 <walletdir>. 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
|
||||
<walletdir>.
|
||||
.HP
|
||||
\fB\-walletbroadcast\fR
|
||||
.IP
|
||||
Make the wallet broadcast transactions (default: 1)
|
||||
.HP
|
||||
\fB\-walletdir=\fR<dir>
|
||||
.IP
|
||||
Specify directory to hold wallets (default: <datadir>/wallets if it
|
||||
exists, otherwise <datadir>)
|
||||
.HP
|
||||
\fB\-walletnotify=\fR<cmd>
|
||||
.IP
|
||||
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 (\fB\-1\fR 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.
|
||||
.HP
|
||||
\fB\-walletrbf\fR
|
||||
.IP
|
||||
Send transactions with full\-RBF opt\-in enabled (RPC only, default: 1)
|
||||
.PP
|
||||
ZeroMQ notification options:
|
||||
.HP
|
||||
\fB\-zmqpubhashblock=\fR<address>
|
||||
.IP
|
||||
Enable publish hash block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubhashtx=\fR<address>
|
||||
.IP
|
||||
Enable publish hash transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawblock=\fR<address>
|
||||
.IP
|
||||
Enable publish raw block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawtx=\fR<address>
|
||||
.IP
|
||||
Enable publish raw transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubsequence=\fR<address>
|
||||
.IP
|
||||
Enable publish hash block and tx sequence in <address>
|
||||
.HP
|
||||
\fB\-zmqpubsequencehwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash sequence message high water mark (default: 1000)
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.HP
|
||||
\fB\-debug=\fR<category>
|
||||
.IP
|
||||
Output debug and trace logging (default: \fB\-nodebug\fR, supplying <category>
|
||||
is optional). If <category> is not supplied or if <category> = 1,
|
||||
output all debug and trace logging. <category> can be: addrman,
|
||||
bench, blockstorage, cmpctblock, coindb, estimatefee, http, i2p,
|
||||
ipc, leveldb, libevent, mempool, mempoolrej, net, proxy, prune,
|
||||
qt, rand, reindex, rpc, scan, selectcoins, tor, txpackages,
|
||||
txreconciliation, util, validation, walletdb, zmq. This option
|
||||
can be specified multiple times to output multiple categories.
|
||||
.HP
|
||||
\fB\-debugexclude=\fR<category>
|
||||
.IP
|
||||
Exclude debug and trace logging for a category. Can be used in
|
||||
conjunction with \fB\-debug\fR=\fI\,1\/\fR to output debug and trace logging for
|
||||
all categories except the specified category. This option can be
|
||||
specified multiple times to exclude multiple categories.
|
||||
.HP
|
||||
\fB\-help\-debug\fR
|
||||
.IP
|
||||
Print help message with debugging options and exit
|
||||
.HP
|
||||
\fB\-logips\fR
|
||||
.IP
|
||||
Include IP addresses in debug output (default: 0)
|
||||
.HP
|
||||
\fB\-loglevelalways\fR
|
||||
.IP
|
||||
Always prepend a category and level (default: 0)
|
||||
.HP
|
||||
\fB\-logsourcelocations\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating source location
|
||||
(source file, line number and function name) (default: 0)
|
||||
.HP
|
||||
\fB\-logthreadnames\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating thread (only available
|
||||
on platforms supporting thread_local) (default: 0)
|
||||
.HP
|
||||
\fB\-logtimestamps\fR
|
||||
.IP
|
||||
Prepend debug output with timestamp (default: 1)
|
||||
.HP
|
||||
\fB\-maxtxfee=\fR<amt>
|
||||
.IP
|
||||
Maximum total fees (in BTC) to use in a single wallet transaction;
|
||||
setting this too low may abort large transactions (default: 0.10)
|
||||
.HP
|
||||
\fB\-printtoconsole\fR
|
||||
.IP
|
||||
Send trace/debug info to console (default: 1 when no \fB\-daemon\fR. To disable
|
||||
logging to file, set \fB\-nodebuglogfile\fR)
|
||||
.HP
|
||||
\fB\-shrinkdebugfile\fR
|
||||
.IP
|
||||
Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
|
||||
.HP
|
||||
\fB\-uacomment=\fR<cmt>
|
||||
.IP
|
||||
Append comment to the user agent string
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
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))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Node relay options:
|
||||
.HP
|
||||
\fB\-bytespersigop\fR
|
||||
.IP
|
||||
Equivalent bytes per sigop in transactions for relay and mining
|
||||
(default: 20)
|
||||
.HP
|
||||
\fB\-datacarrier\fR
|
||||
.IP
|
||||
Relay and mine data carrier transactions (default: 1)
|
||||
.HP
|
||||
\fB\-datacarriersize\fR
|
||||
.IP
|
||||
Relay and mine transactions whose data\-carrying raw scriptPubKey is of
|
||||
this size or less (default: 83)
|
||||
.HP
|
||||
\fB\-mempoolfullrbf\fR
|
||||
.IP
|
||||
Accept transaction replace\-by\-fee without requiring replaceability
|
||||
signaling (default: 0)
|
||||
.HP
|
||||
\fB\-minrelaytxfee=\fR<amt>
|
||||
.IP
|
||||
Fees (in BTC/kvB) smaller than this are considered zero fee for
|
||||
relaying, mining and transaction creation (default: 0.00001)
|
||||
.HP
|
||||
\fB\-permitbaremultisig\fR
|
||||
.IP
|
||||
Relay non\-P2SH multisig (default: 1)
|
||||
.HP
|
||||
\fB\-whitelistforcerelay\fR
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-whitelistrelay\fR
|
||||
.IP
|
||||
Add 'relay' permission to whitelisted inbound peers with default
|
||||
permissions. This will accept relayed transactions even when not
|
||||
relaying transactions (default: 1)
|
||||
.PP
|
||||
Block creation options:
|
||||
.HP
|
||||
\fB\-blockmaxweight=\fR<n>
|
||||
.IP
|
||||
Set maximum BIP141 block weight (default: 3996000)
|
||||
.HP
|
||||
\fB\-blockmintxfee=\fR<amt>
|
||||
.IP
|
||||
Set lowest fee rate (in BTC/kvB) for transactions to be included in
|
||||
block creation. (default: 0.00001)
|
||||
.PP
|
||||
RPC server options:
|
||||
.HP
|
||||
\fB\-rest\fR
|
||||
.IP
|
||||
Accept public REST requests (default: 0)
|
||||
.HP
|
||||
\fB\-rpcallowip=\fR<ip>
|
||||
.IP
|
||||
Allow JSON\-RPC connections from specified source. Valid values for <ip>
|
||||
are a single IP (e.g. 1.2.3.4), a network/netmask (e.g.
|
||||
1.2.3.4/255.255.255.0), a network/CIDR (e.g. 1.2.3.4/24), all
|
||||
ipv4 (0.0.0.0/0), or all ipv6 (::/0). This option can be
|
||||
specified multiple times
|
||||
.HP
|
||||
\fB\-rpcauth=\fR<userpw>
|
||||
.IP
|
||||
Username and HMAC\-SHA\-256 hashed password for JSON\-RPC connections. The
|
||||
field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
|
||||
canonical python script is included in share/rpcauth. The client
|
||||
then connects normally using the
|
||||
rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
|
||||
option can be specified multiple times
|
||||
.HP
|
||||
\fB\-rpcbind=\fR<addr>[:port]
|
||||
.IP
|
||||
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 \fB\-rpcallowip\fR is also passed. Port is
|
||||
optional and overrides \fB\-rpcport\fR. Use [host]:port notation for
|
||||
IPv6. This option can be specified multiple times (default:
|
||||
127.0.0.1 and ::1 i.e., localhost)
|
||||
.HP
|
||||
\fB\-rpccookiefile=\fR<loc>
|
||||
.IP
|
||||
Location of the auth cookie. Relative paths will be prefixed by a
|
||||
net\-specific datadir location. (default: data dir)
|
||||
.HP
|
||||
\fB\-rpcpassword=\fR<pw>
|
||||
.IP
|
||||
Password for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcport=\fR<port>
|
||||
.IP
|
||||
Listen for JSON\-RPC connections on <port> (default: 8332, testnet:
|
||||
18332, signet: 38332, regtest: 18443)
|
||||
.HP
|
||||
\fB\-rpcthreads=\fR<n>
|
||||
.IP
|
||||
Set the number of threads to service RPC calls (default: 4)
|
||||
.HP
|
||||
\fB\-rpcuser=\fR<user>
|
||||
.IP
|
||||
Username for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcwhitelist=\fR<whitelist>
|
||||
.IP
|
||||
Set a whitelist to filter incoming RPC calls for a specific user. The
|
||||
field <whitelist> comes in the format: <USERNAME>:<rpc 1>,<rpc
|
||||
2>,...,<rpc n>. If multiple whitelists are set for a given user,
|
||||
they are set\-intersected. See \fB\-rpcwhitelistdefault\fR documentation
|
||||
for information on default whitelist behavior.
|
||||
.HP
|
||||
\fB\-rpcwhitelistdefault\fR
|
||||
.IP
|
||||
Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault
|
||||
is set to 0, if any \fB\-rpcwhitelist\fR 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
|
||||
\fB\-rpcwhitelist\fR is set, rpc server acts as if all rpc users are
|
||||
subject to empty whitelists.
|
||||
.HP
|
||||
\fB\-server\fR
|
||||
.IP
|
||||
Accept command line and JSON\-RPC commands
|
||||
.PP
|
||||
UI Options:
|
||||
.HP
|
||||
\fB\-choosedatadir\fR
|
||||
.IP
|
||||
Choose data directory on startup (default: 0)
|
||||
.HP
|
||||
\fB\-lang=\fR<lang>
|
||||
.IP
|
||||
Set language, for example "de_DE" (default: system locale)
|
||||
.HP
|
||||
\fB\-min\fR
|
||||
.IP
|
||||
Start minimized
|
||||
.HP
|
||||
\fB\-resetguisettings\fR
|
||||
.IP
|
||||
Reset all settings changed in the GUI
|
||||
.HP
|
||||
\fB\-splash\fR
|
||||
.IP
|
||||
Show splash screen on startup (default: 1)
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2024 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
@@ -1,5 +1,147 @@
|
||||
.TH BITCOIN-TX "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIN-TX "1" "April 2024" "bitcoin-tx v27.0.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-tx \- manual page for bitcoin-tx
|
||||
bitcoin-tx \- manual page for bitcoin-tx v27.0.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-tx
|
||||
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded bitcoin transaction\/\fR
|
||||
.br
|
||||
.B bitcoin-tx
|
||||
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded bitcoin transaction\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-tx utility version v27.0.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
.IP
|
||||
Print this help message and exit
|
||||
.HP
|
||||
\fB\-create\fR
|
||||
.IP
|
||||
Create new, empty TX.
|
||||
.HP
|
||||
\fB\-json\fR
|
||||
.IP
|
||||
Select JSON output
|
||||
.HP
|
||||
\fB\-txid\fR
|
||||
.IP
|
||||
Output only the hex\-encoded transaction id of the resultant transaction.
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
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))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Commands:
|
||||
.IP
|
||||
delin=N
|
||||
.IP
|
||||
Delete input N from TX
|
||||
.IP
|
||||
delout=N
|
||||
.IP
|
||||
Delete output N from TX
|
||||
.IP
|
||||
in=TXID:VOUT(:SEQUENCE_NUMBER)
|
||||
.IP
|
||||
Add input to TX
|
||||
.IP
|
||||
locktime=N
|
||||
.IP
|
||||
Set TX lock time to N
|
||||
.IP
|
||||
nversion=N
|
||||
.IP
|
||||
Set TX version to N
|
||||
.IP
|
||||
outaddr=VALUE:ADDRESS
|
||||
.IP
|
||||
Add address\-based output to TX
|
||||
.IP
|
||||
outdata=[VALUE:]DATA
|
||||
.IP
|
||||
Add data\-based output to TX
|
||||
.IP
|
||||
outmultisig=VALUE:REQUIRED:PUBKEYS:PUBKEY1:PUBKEY2:....[:FLAGS]
|
||||
.IP
|
||||
Add Pay To n\-of\-m Multi\-sig output to TX. n = REQUIRED, m = PUBKEYS.
|
||||
Optionally add the "W" flag to produce a
|
||||
pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to
|
||||
wrap the output in a pay\-to\-script\-hash.
|
||||
.IP
|
||||
outpubkey=VALUE:PUBKEY[:FLAGS]
|
||||
.IP
|
||||
Add pay\-to\-pubkey output to TX. Optionally add the "W" flag to produce a
|
||||
pay\-to\-witness\-pubkey\-hash output. Optionally add the "S" flag to
|
||||
wrap the output in a pay\-to\-script\-hash.
|
||||
.IP
|
||||
outscript=VALUE:SCRIPT[:FLAGS]
|
||||
.IP
|
||||
Add raw script output to TX. Optionally add the "W" flag to produce a
|
||||
pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to
|
||||
wrap the output in a pay\-to\-script\-hash.
|
||||
.IP
|
||||
replaceable(=N)
|
||||
.IP
|
||||
Sets Replace\-By\-Fee (RBF) opt\-in sequence number for input N. If N is
|
||||
not provided, the command attempts to opt\-in all available inputs
|
||||
for RBF. If the transaction has no inputs, this option is
|
||||
ignored.
|
||||
.IP
|
||||
sign=SIGHASH\-FLAGS
|
||||
.IP
|
||||
Add zero or more signatures to transaction. This command requires JSON
|
||||
registers:prevtxs=JSON object, privatekeys=JSON object. See
|
||||
signrawtransactionwithkey docs for format of sighash flags, JSON
|
||||
objects.
|
||||
.PP
|
||||
Register Commands:
|
||||
.IP
|
||||
load=NAME:FILENAME
|
||||
.IP
|
||||
Load JSON file FILENAME into register NAME
|
||||
.IP
|
||||
set=NAME:JSON\-STRING
|
||||
.IP
|
||||
Set register NAME to given JSON\-STRING
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2024 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
@@ -1,5 +1,65 @@
|
||||
.TH BITCOIN-UTIL "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIN-UTIL "1" "April 2024" "bitcoin-util v27.0.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-util \- manual page for bitcoin-util
|
||||
bitcoin-util \- manual page for bitcoin-util v27.0.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-util
|
||||
[\fI\,options\/\fR] [\fI\,commands\/\fR] \fI\,Do stuff\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-util utility version v27.0.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
.IP
|
||||
Print this help message and exit
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
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))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Commands:
|
||||
.IP
|
||||
grind
|
||||
.IP
|
||||
Perform proof of work on hex header string
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2024 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
@@ -1,5 +1,121 @@
|
||||
.TH BITCOIN-WALLET "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIN-WALLET "1" "April 2024" "bitcoin-wallet v27.0.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-wallet \- manual page for bitcoin-wallet
|
||||
bitcoin-wallet \- manual page for bitcoin-wallet v27.0.0
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-wallet version v27.0.0
|
||||
.PP
|
||||
bitcoin\-wallet is an offline tool for creating and interacting with Bitcoin Core wallet files.
|
||||
By default bitcoin\-wallet will act on wallets in the default mainnet wallet directory in the datadir.
|
||||
To change the target wallet, use the \fB\-datadir\fR, \fB\-wallet\fR and \fB\-regtest\fR/\-signet/\-testnet arguments.
|
||||
.SS "Usage:"
|
||||
.IP
|
||||
bitcoin\-wallet [options] <command>
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
.IP
|
||||
Print this help message and exit
|
||||
.HP
|
||||
\fB\-datadir=\fR<dir>
|
||||
.IP
|
||||
Specify data directory
|
||||
.HP
|
||||
\fB\-descriptors\fR
|
||||
.IP
|
||||
Create descriptors wallet. Only for 'create'
|
||||
.HP
|
||||
\fB\-dumpfile=\fR<file name>
|
||||
.IP
|
||||
When used with 'dump', writes out the records to this file. When used
|
||||
with 'createfromdump', loads the records into a new wallet.
|
||||
.HP
|
||||
\fB\-format=\fR<format>
|
||||
.IP
|
||||
The format of the wallet file to create. Either "bdb" or "sqlite". Only
|
||||
used with 'createfromdump'
|
||||
.HP
|
||||
\fB\-legacy\fR
|
||||
.IP
|
||||
Create legacy wallet. Only for 'create'
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.HP
|
||||
\fB\-wallet=\fR<wallet\-name>
|
||||
.IP
|
||||
Specify wallet name
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.HP
|
||||
\fB\-debug=\fR<category>
|
||||
.IP
|
||||
Output debugging information (default: 0).
|
||||
.HP
|
||||
\fB\-printtoconsole\fR
|
||||
.IP
|
||||
Send trace/debug info to console (default: 1 when no \fB\-debug\fR is true, 0
|
||||
otherwise).
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
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))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Commands:
|
||||
.IP
|
||||
create
|
||||
.IP
|
||||
Create new wallet file
|
||||
.IP
|
||||
createfromdump
|
||||
.IP
|
||||
Create new wallet file from dumped records
|
||||
.IP
|
||||
dump
|
||||
.IP
|
||||
Print out all of the wallet key\-value records
|
||||
.IP
|
||||
info
|
||||
.IP
|
||||
Get wallet info
|
||||
.IP
|
||||
salvage
|
||||
.IP
|
||||
Attempt to recover private keys from a corrupt wallet. Warning:
|
||||
\&'salvage' is experimental.
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2024 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
@@ -1,5 +1,805 @@
|
||||
.TH BITCOIND "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIND "1" "April 2024" "bitcoind v27.0.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoind \- manual page for bitcoind
|
||||
bitcoind \- manual page for bitcoind v27.0.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoind
|
||||
[\fI\,options\/\fR] \fI\,Start Bitcoin Core\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core version v27.0.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
.IP
|
||||
Print this help message and exit
|
||||
.HP
|
||||
\fB\-alertnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when an alert is raised (%s in cmd is replaced by
|
||||
message)
|
||||
.HP
|
||||
\fB\-allowignoredconf\fR
|
||||
.IP
|
||||
For backwards compatibility, treat an unused bitcoin.conf file in the
|
||||
datadir as a warning, not an error.
|
||||
.HP
|
||||
\fB\-assumevalid=\fR<hex>
|
||||
.IP
|
||||
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:
|
||||
000000000000000000026811d149d4d261995ec5b3f64f439a0a10e1a464af9a,
|
||||
testnet:
|
||||
000000000001323071f38f21ea5aae529ece491eadaccce506a59bcc2d968917,
|
||||
signet:
|
||||
0000000870f15246ba23c16e370a7ffb1fc8a3dcf8cb4492882ed4b0e3d4cd26)
|
||||
.HP
|
||||
\fB\-blockfilterindex=\fR<type>
|
||||
.IP
|
||||
Maintain an index of compact filters by block (default: 0, values:
|
||||
basic). If <type> is not supplied or if <type> = 1, indexes for
|
||||
all known types are enabled.
|
||||
.HP
|
||||
\fB\-blocknotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when the best block changes (%s in cmd is replaced by
|
||||
block hash)
|
||||
.HP
|
||||
\fB\-blockreconstructionextratxn=\fR<n>
|
||||
.IP
|
||||
Extra transactions to keep in memory for compact block reconstructions
|
||||
(default: 100)
|
||||
.HP
|
||||
\fB\-blocksdir=\fR<dir>
|
||||
.IP
|
||||
Specify directory to hold blocks subdirectory for *.dat files (default:
|
||||
<datadir>)
|
||||
.HP
|
||||
\fB\-blocksonly\fR
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-coinstatsindex\fR
|
||||
.IP
|
||||
Maintain coinstats index used by the gettxoutsetinfo RPC (default: 0)
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-daemon\fR
|
||||
.IP
|
||||
Run in the background as a daemon and accept commands (default: 0)
|
||||
.HP
|
||||
\fB\-daemonwait\fR
|
||||
.IP
|
||||
Wait for initialization to be finished before exiting. This implies
|
||||
\fB\-daemon\fR (default: 0)
|
||||
.HP
|
||||
\fB\-datadir=\fR<dir>
|
||||
.IP
|
||||
Specify data directory
|
||||
.HP
|
||||
\fB\-dbcache=\fR<n>
|
||||
.IP
|
||||
Maximum database cache size <n> MiB (4 to 16384, default: 450). In
|
||||
addition, unused mempool memory is shared for this cache (see
|
||||
\fB\-maxmempool\fR).
|
||||
.HP
|
||||
\fB\-debuglogfile=\fR<file>
|
||||
.IP
|
||||
Specify location of debug log file (default: debug.log). Relative paths
|
||||
will be prefixed by a net\-specific datadir location. Pass
|
||||
\fB\-nodebuglogfile\fR to disable writing the log to a file.
|
||||
.HP
|
||||
\fB\-includeconf=\fR<file>
|
||||
.IP
|
||||
Specify additional configuration file, relative to the \fB\-datadir\fR path
|
||||
(only useable from configuration file, not command line)
|
||||
.HP
|
||||
\fB\-loadblock=\fR<file>
|
||||
.IP
|
||||
Imports blocks from external file on startup
|
||||
.HP
|
||||
\fB\-maxmempool=\fR<n>
|
||||
.IP
|
||||
Keep the transaction memory pool below <n> megabytes (default: 300)
|
||||
.HP
|
||||
\fB\-maxorphantx=\fR<n>
|
||||
.IP
|
||||
Keep at most <n> unconnectable transactions in memory (default: 100)
|
||||
.HP
|
||||
\fB\-mempoolexpiry=\fR<n>
|
||||
.IP
|
||||
Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
336)
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
Set the number of script verification threads (0 = auto, up to 15, <0 =
|
||||
leave that many cores free, default: 0)
|
||||
.HP
|
||||
\fB\-persistmempool\fR
|
||||
.IP
|
||||
Whether to save the mempool on shutdown and load on restart (default: 1)
|
||||
.HP
|
||||
\fB\-persistmempoolv1\fR
|
||||
.IP
|
||||
Whether a mempool.dat file created by \fB\-persistmempool\fR or the savemempool
|
||||
RPC will be written in the legacy format (version 1) or the
|
||||
current format (version 2). This temporary option will be removed
|
||||
in the future. (default: 0)
|
||||
.HP
|
||||
\fB\-pid=\fR<file>
|
||||
.IP
|
||||
Specify pid file. Relative paths will be prefixed by a net\-specific
|
||||
datadir location. (default: bitcoind.pid)
|
||||
.HP
|
||||
\fB\-prune=\fR<n>
|
||||
.IP
|
||||
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 \fB\-txindex\fR. 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)
|
||||
.HP
|
||||
\fB\-reindex\fR
|
||||
.IP
|
||||
If enabled, wipe chain state and block index, and rebuild them from
|
||||
blk*.dat files on disk. Also wipe and rebuild other optional
|
||||
indexes that are active. If an assumeutxo snapshot was loaded,
|
||||
its chainstate will be wiped as well. The snapshot can then be
|
||||
reloaded via RPC.
|
||||
.HP
|
||||
\fB\-reindex\-chainstate\fR
|
||||
.IP
|
||||
If enabled, wipe chain state, and rebuild it from blk*.dat files on
|
||||
disk. If an assumeutxo snapshot was loaded, its chainstate will
|
||||
be wiped as well. The snapshot can then be reloaded via RPC.
|
||||
.HP
|
||||
\fB\-settings=\fR<file>
|
||||
.IP
|
||||
Specify path to dynamic settings data file. Can be disabled with
|
||||
\fB\-nosettings\fR. 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)
|
||||
.HP
|
||||
\fB\-shutdownnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command immediately before beginning shutdown. The need for
|
||||
shutdown may be urgent, so be careful not to delay it long (if
|
||||
the command doesn't require interaction with the server, consider
|
||||
having it fork into the background).
|
||||
.HP
|
||||
\fB\-startupnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command on startup.
|
||||
.HP
|
||||
\fB\-txindex\fR
|
||||
.IP
|
||||
Maintain a full transaction index, used by the getrawtransaction rpc
|
||||
call (default: 0)
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.PP
|
||||
Connection options:
|
||||
.HP
|
||||
\fB\-addnode=\fR<ip>
|
||||
.IP
|
||||
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 \fB\-maxconnections\fR
|
||||
limit.
|
||||
.HP
|
||||
\fB\-asmap=\fR<file>
|
||||
.IP
|
||||
Specify asn mapping used for bucketing of the peers (default:
|
||||
ip_asn.map). Relative paths will be prefixed by the net\-specific
|
||||
datadir location.
|
||||
.HP
|
||||
\fB\-bantime=\fR<n>
|
||||
.IP
|
||||
Default duration (in seconds) of manually configured bans (default:
|
||||
86400)
|
||||
.HP
|
||||
\fB\-bind=\fR<addr>[:<port>][=onion]
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-cjdnsreachable\fR
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-connect=\fR<ip>
|
||||
.IP
|
||||
Connect only to the specified node; \fB\-noconnect\fR disables automatic
|
||||
connections (the rules for this peer are the same as for
|
||||
\fB\-addnode\fR). This option can be specified multiple times to connect
|
||||
to multiple nodes.
|
||||
.HP
|
||||
\fB\-discover\fR
|
||||
.IP
|
||||
Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
|
||||
or \fB\-proxy\fR)
|
||||
.HP
|
||||
\fB\-dns\fR
|
||||
.IP
|
||||
Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
|
||||
.HP
|
||||
\fB\-dnsseed\fR
|
||||
.IP
|
||||
Query for peer addresses via DNS lookup, if low on addresses (default: 1
|
||||
unless \fB\-connect\fR used or \fB\-maxconnections\fR=\fI\,0\/\fR)
|
||||
.HP
|
||||
\fB\-externalip=\fR<ip>
|
||||
.IP
|
||||
Specify your own public address
|
||||
.HP
|
||||
\fB\-fixedseeds\fR
|
||||
.IP
|
||||
Allow fixed seeds if DNS seeds don't provide peers (default: 1)
|
||||
.HP
|
||||
\fB\-forcednsseed\fR
|
||||
.IP
|
||||
Always query for peer addresses via DNS lookup (default: 0)
|
||||
.HP
|
||||
\fB\-i2pacceptincoming\fR
|
||||
.IP
|
||||
Whether to accept inbound I2P connections (default: 1). Ignored if
|
||||
\fB\-i2psam\fR is not set. Listening for inbound I2P connections is done
|
||||
through the SAM proxy, not by binding to a local address and
|
||||
port.
|
||||
.HP
|
||||
\fB\-i2psam=\fR<ip:port>
|
||||
.IP
|
||||
I2P SAM proxy to reach I2P peers and accept I2P connections (default:
|
||||
none)
|
||||
.HP
|
||||
\fB\-listen\fR
|
||||
.IP
|
||||
Accept connections from outside (default: 1 if no \fB\-proxy\fR, \fB\-connect\fR or
|
||||
\fB\-maxconnections\fR=\fI\,0\/\fR)
|
||||
.HP
|
||||
\fB\-listenonion\fR
|
||||
.IP
|
||||
Automatically create Tor onion service (default: 1)
|
||||
.HP
|
||||
\fB\-maxconnections=\fR<n>
|
||||
.IP
|
||||
Maintain at most <n> automatic connections to peers (default: 125). This
|
||||
limit does not apply to connections manually added via \fB\-addnode\fR
|
||||
or the addnode RPC, which have a separate limit of 8.
|
||||
.HP
|
||||
\fB\-maxreceivebuffer=\fR<n>
|
||||
.IP
|
||||
Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
|
||||
.HP
|
||||
\fB\-maxsendbuffer=\fR<n>
|
||||
.IP
|
||||
Maximum per\-connection memory usage for the send buffer, <n>*1000 bytes
|
||||
(default: 1000)
|
||||
.HP
|
||||
\fB\-maxtimeadjustment\fR
|
||||
.IP
|
||||
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).
|
||||
.HP
|
||||
\fB\-maxuploadtarget=\fR<n>
|
||||
.IP
|
||||
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
|
||||
.HP
|
||||
\fB\-natpmp\fR
|
||||
.IP
|
||||
Use NAT\-PMP to map the listening port (default: 0)
|
||||
.HP
|
||||
\fB\-networkactive\fR
|
||||
.IP
|
||||
Enable all P2P network activity (default: 1). Can be changed by the
|
||||
setnetworkactive RPC command
|
||||
.HP
|
||||
\fB\-onion=\fR<ip:port>
|
||||
.IP
|
||||
Use separate SOCKS5 proxy to reach peers via Tor onion services, set
|
||||
\fB\-noonion\fR to disable (default: \fB\-proxy\fR)
|
||||
.HP
|
||||
\fB\-onlynet=\fR<net>
|
||||
.IP
|
||||
Make automatic outbound connections only to network <net> (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.
|
||||
.HP
|
||||
\fB\-peerblockfilters\fR
|
||||
.IP
|
||||
Serve compact block filters to peers per BIP 157 (default: 0)
|
||||
.HP
|
||||
\fB\-peerbloomfilters\fR
|
||||
.IP
|
||||
Support filtering of blocks and transaction with bloom filters (default:
|
||||
0)
|
||||
.HP
|
||||
\fB\-port=\fR<port>
|
||||
.IP
|
||||
Listen for connections on <port>. 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).
|
||||
.HP
|
||||
\fB\-proxy=\fR<ip:port>
|
||||
.IP
|
||||
Connect through SOCKS5 proxy, set \fB\-noproxy\fR to disable (default:
|
||||
disabled)
|
||||
.HP
|
||||
\fB\-proxyrandomize\fR
|
||||
.IP
|
||||
Randomize credentials for every proxy connection. This enables Tor
|
||||
stream isolation (default: 1)
|
||||
.HP
|
||||
\fB\-seednode=\fR<ip>
|
||||
.IP
|
||||
Connect to a node to retrieve peer addresses, and disconnect. This
|
||||
option can be specified multiple times to connect to multiple
|
||||
nodes.
|
||||
.HP
|
||||
\fB\-timeout=\fR<n>
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-torcontrol=\fR<ip>:<port>
|
||||
.IP
|
||||
Tor control host and port to use if onion listening enabled (default:
|
||||
127.0.0.1:9051). If no port is specified, the default port of
|
||||
9051 will be used.
|
||||
.HP
|
||||
\fB\-torpassword=\fR<pass>
|
||||
.IP
|
||||
Tor control port password (default: empty)
|
||||
.HP
|
||||
\fB\-upnp\fR
|
||||
.IP
|
||||
Use UPnP to map the listening port (default: 1 when listening and no
|
||||
\fB\-proxy\fR)
|
||||
.HP
|
||||
\fB\-v2transport\fR
|
||||
.IP
|
||||
Support v2 transport (default: 1)
|
||||
.HP
|
||||
\fB\-whitebind=\fR<[permissions@]addr>
|
||||
.IP
|
||||
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 \fB\-blocksonly\fR 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.
|
||||
.HP
|
||||
\fB\-whitelist=\fR<[permissions@]IP address or network>
|
||||
.IP
|
||||
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 \fB\-whitebind\fR. Can be specified multiple
|
||||
times.
|
||||
.PP
|
||||
Wallet options:
|
||||
.HP
|
||||
\fB\-addresstype\fR
|
||||
.IP
|
||||
What type of addresses to use ("legacy", "p2sh\-segwit", "bech32", or
|
||||
"bech32m", default: "bech32")
|
||||
.HP
|
||||
\fB\-avoidpartialspends\fR
|
||||
.IP
|
||||
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.
|
||||
.HP
|
||||
\fB\-changetype\fR
|
||||
.IP
|
||||
What type of change to use ("legacy", "p2sh\-segwit", "bech32", or
|
||||
"bech32m"). Default is "legacy" when \fB\-addresstype\fR=\fI\,legacy\/\fR, else it
|
||||
is an implementation detail.
|
||||
.HP
|
||||
\fB\-consolidatefeerate=\fR<amt>
|
||||
.IP
|
||||
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).
|
||||
.HP
|
||||
\fB\-disablewallet\fR
|
||||
.IP
|
||||
Do not load the wallet and disable wallet RPC calls
|
||||
.HP
|
||||
\fB\-discardfee=\fR<amt>
|
||||
.IP
|
||||
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
|
||||
.HP
|
||||
\fB\-fallbackfee=\fR<amt>
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-keypool=\fR<n>
|
||||
.IP
|
||||
Set key pool size to <n> (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.
|
||||
.HP
|
||||
\fB\-maxapsfee=\fR<n>
|
||||
.IP
|
||||
Spend up to this amount in additional (absolute) fees (in BTC) if it
|
||||
allows the use of partial spend avoidance (default: 0.00)
|
||||
.HP
|
||||
\fB\-mintxfee=\fR<amt>
|
||||
.IP
|
||||
Fee rates (in BTC/kvB) smaller than this are considered zero fee for
|
||||
transaction creation (default: 0.00001)
|
||||
.HP
|
||||
\fB\-paytxfee=\fR<amt>
|
||||
.IP
|
||||
Fee rate (in BTC/kvB) to add to transactions you send (default: 0.00)
|
||||
.HP
|
||||
\fB\-signer=\fR<cmd>
|
||||
.IP
|
||||
External signing tool, see doc/external\-signer.md
|
||||
.HP
|
||||
\fB\-spendzeroconfchange\fR
|
||||
.IP
|
||||
Spend unconfirmed change when sending transactions (default: 1)
|
||||
.HP
|
||||
\fB\-txconfirmtarget=\fR<n>
|
||||
.IP
|
||||
If paytxfee is not set, include enough fee so transactions begin
|
||||
confirmation on average within n blocks (default: 6)
|
||||
.HP
|
||||
\fB\-wallet=\fR<path>
|
||||
.IP
|
||||
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 <walletdir>. 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
|
||||
<walletdir>.
|
||||
.HP
|
||||
\fB\-walletbroadcast\fR
|
||||
.IP
|
||||
Make the wallet broadcast transactions (default: 1)
|
||||
.HP
|
||||
\fB\-walletdir=\fR<dir>
|
||||
.IP
|
||||
Specify directory to hold wallets (default: <datadir>/wallets if it
|
||||
exists, otherwise <datadir>)
|
||||
.HP
|
||||
\fB\-walletnotify=\fR<cmd>
|
||||
.IP
|
||||
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 (\fB\-1\fR 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.
|
||||
.HP
|
||||
\fB\-walletrbf\fR
|
||||
.IP
|
||||
Send transactions with full\-RBF opt\-in enabled (RPC only, default: 1)
|
||||
.PP
|
||||
ZeroMQ notification options:
|
||||
.HP
|
||||
\fB\-zmqpubhashblock=\fR<address>
|
||||
.IP
|
||||
Enable publish hash block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubhashtx=\fR<address>
|
||||
.IP
|
||||
Enable publish hash transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawblock=\fR<address>
|
||||
.IP
|
||||
Enable publish raw block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawtx=\fR<address>
|
||||
.IP
|
||||
Enable publish raw transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubsequence=\fR<address>
|
||||
.IP
|
||||
Enable publish hash block and tx sequence in <address>
|
||||
.HP
|
||||
\fB\-zmqpubsequencehwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash sequence message high water mark (default: 1000)
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.HP
|
||||
\fB\-debug=\fR<category>
|
||||
.IP
|
||||
Output debug and trace logging (default: \fB\-nodebug\fR, supplying <category>
|
||||
is optional). If <category> is not supplied or if <category> = 1,
|
||||
output all debug and trace logging. <category> can be: addrman,
|
||||
bench, blockstorage, cmpctblock, coindb, estimatefee, http, i2p,
|
||||
ipc, leveldb, libevent, mempool, mempoolrej, net, proxy, prune,
|
||||
qt, rand, reindex, rpc, scan, selectcoins, tor, txpackages,
|
||||
txreconciliation, util, validation, walletdb, zmq. This option
|
||||
can be specified multiple times to output multiple categories.
|
||||
.HP
|
||||
\fB\-debugexclude=\fR<category>
|
||||
.IP
|
||||
Exclude debug and trace logging for a category. Can be used in
|
||||
conjunction with \fB\-debug\fR=\fI\,1\/\fR to output debug and trace logging for
|
||||
all categories except the specified category. This option can be
|
||||
specified multiple times to exclude multiple categories.
|
||||
.HP
|
||||
\fB\-help\-debug\fR
|
||||
.IP
|
||||
Print help message with debugging options and exit
|
||||
.HP
|
||||
\fB\-logips\fR
|
||||
.IP
|
||||
Include IP addresses in debug output (default: 0)
|
||||
.HP
|
||||
\fB\-loglevelalways\fR
|
||||
.IP
|
||||
Always prepend a category and level (default: 0)
|
||||
.HP
|
||||
\fB\-logsourcelocations\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating source location
|
||||
(source file, line number and function name) (default: 0)
|
||||
.HP
|
||||
\fB\-logthreadnames\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating thread (only available
|
||||
on platforms supporting thread_local) (default: 0)
|
||||
.HP
|
||||
\fB\-logtimestamps\fR
|
||||
.IP
|
||||
Prepend debug output with timestamp (default: 1)
|
||||
.HP
|
||||
\fB\-maxtxfee=\fR<amt>
|
||||
.IP
|
||||
Maximum total fees (in BTC) to use in a single wallet transaction;
|
||||
setting this too low may abort large transactions (default: 0.10)
|
||||
.HP
|
||||
\fB\-printtoconsole\fR
|
||||
.IP
|
||||
Send trace/debug info to console (default: 1 when no \fB\-daemon\fR. To disable
|
||||
logging to file, set \fB\-nodebuglogfile\fR)
|
||||
.HP
|
||||
\fB\-shrinkdebugfile\fR
|
||||
.IP
|
||||
Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
|
||||
.HP
|
||||
\fB\-uacomment=\fR<cmt>
|
||||
.IP
|
||||
Append comment to the user agent string
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
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))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Node relay options:
|
||||
.HP
|
||||
\fB\-bytespersigop\fR
|
||||
.IP
|
||||
Equivalent bytes per sigop in transactions for relay and mining
|
||||
(default: 20)
|
||||
.HP
|
||||
\fB\-datacarrier\fR
|
||||
.IP
|
||||
Relay and mine data carrier transactions (default: 1)
|
||||
.HP
|
||||
\fB\-datacarriersize\fR
|
||||
.IP
|
||||
Relay and mine transactions whose data\-carrying raw scriptPubKey is of
|
||||
this size or less (default: 83)
|
||||
.HP
|
||||
\fB\-mempoolfullrbf\fR
|
||||
.IP
|
||||
Accept transaction replace\-by\-fee without requiring replaceability
|
||||
signaling (default: 0)
|
||||
.HP
|
||||
\fB\-minrelaytxfee=\fR<amt>
|
||||
.IP
|
||||
Fees (in BTC/kvB) smaller than this are considered zero fee for
|
||||
relaying, mining and transaction creation (default: 0.00001)
|
||||
.HP
|
||||
\fB\-permitbaremultisig\fR
|
||||
.IP
|
||||
Relay non\-P2SH multisig (default: 1)
|
||||
.HP
|
||||
\fB\-whitelistforcerelay\fR
|
||||
.IP
|
||||
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)
|
||||
.HP
|
||||
\fB\-whitelistrelay\fR
|
||||
.IP
|
||||
Add 'relay' permission to whitelisted inbound peers with default
|
||||
permissions. This will accept relayed transactions even when not
|
||||
relaying transactions (default: 1)
|
||||
.PP
|
||||
Block creation options:
|
||||
.HP
|
||||
\fB\-blockmaxweight=\fR<n>
|
||||
.IP
|
||||
Set maximum BIP141 block weight (default: 3996000)
|
||||
.HP
|
||||
\fB\-blockmintxfee=\fR<amt>
|
||||
.IP
|
||||
Set lowest fee rate (in BTC/kvB) for transactions to be included in
|
||||
block creation. (default: 0.00001)
|
||||
.PP
|
||||
RPC server options:
|
||||
.HP
|
||||
\fB\-rest\fR
|
||||
.IP
|
||||
Accept public REST requests (default: 0)
|
||||
.HP
|
||||
\fB\-rpcallowip=\fR<ip>
|
||||
.IP
|
||||
Allow JSON\-RPC connections from specified source. Valid values for <ip>
|
||||
are a single IP (e.g. 1.2.3.4), a network/netmask (e.g.
|
||||
1.2.3.4/255.255.255.0), a network/CIDR (e.g. 1.2.3.4/24), all
|
||||
ipv4 (0.0.0.0/0), or all ipv6 (::/0). This option can be
|
||||
specified multiple times
|
||||
.HP
|
||||
\fB\-rpcauth=\fR<userpw>
|
||||
.IP
|
||||
Username and HMAC\-SHA\-256 hashed password for JSON\-RPC connections. The
|
||||
field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
|
||||
canonical python script is included in share/rpcauth. The client
|
||||
then connects normally using the
|
||||
rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
|
||||
option can be specified multiple times
|
||||
.HP
|
||||
\fB\-rpcbind=\fR<addr>[:port]
|
||||
.IP
|
||||
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 \fB\-rpcallowip\fR is also passed. Port is
|
||||
optional and overrides \fB\-rpcport\fR. Use [host]:port notation for
|
||||
IPv6. This option can be specified multiple times (default:
|
||||
127.0.0.1 and ::1 i.e., localhost)
|
||||
.HP
|
||||
\fB\-rpccookiefile=\fR<loc>
|
||||
.IP
|
||||
Location of the auth cookie. Relative paths will be prefixed by a
|
||||
net\-specific datadir location. (default: data dir)
|
||||
.HP
|
||||
\fB\-rpcpassword=\fR<pw>
|
||||
.IP
|
||||
Password for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcport=\fR<port>
|
||||
.IP
|
||||
Listen for JSON\-RPC connections on <port> (default: 8332, testnet:
|
||||
18332, signet: 38332, regtest: 18443)
|
||||
.HP
|
||||
\fB\-rpcthreads=\fR<n>
|
||||
.IP
|
||||
Set the number of threads to service RPC calls (default: 4)
|
||||
.HP
|
||||
\fB\-rpcuser=\fR<user>
|
||||
.IP
|
||||
Username for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcwhitelist=\fR<whitelist>
|
||||
.IP
|
||||
Set a whitelist to filter incoming RPC calls for a specific user. The
|
||||
field <whitelist> comes in the format: <USERNAME>:<rpc 1>,<rpc
|
||||
2>,...,<rpc n>. If multiple whitelists are set for a given user,
|
||||
they are set\-intersected. See \fB\-rpcwhitelistdefault\fR documentation
|
||||
for information on default whitelist behavior.
|
||||
.HP
|
||||
\fB\-rpcwhitelistdefault\fR
|
||||
.IP
|
||||
Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault
|
||||
is set to 0, if any \fB\-rpcwhitelist\fR 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
|
||||
\fB\-rpcwhitelist\fR is set, rpc server acts as if all rpc users are
|
||||
subject to empty whitelists.
|
||||
.HP
|
||||
\fB\-server\fR
|
||||
.IP
|
||||
Accept command line and JSON\-RPC commands
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2024 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
@@ -1,99 +0,0 @@
|
||||
*The release notes draft is a temporary file that can be added to by anyone. See
|
||||
[/doc/developer-notes.md#release-notes](/doc/developer-notes.md#release-notes)
|
||||
for the process.*
|
||||
|
||||
*version* Release Notes Draft
|
||||
===============================
|
||||
|
||||
Bitcoin Core version *version* is now available from:
|
||||
|
||||
<https://bitcoincore.org/bin/bitcoin-core-*version*/>
|
||||
|
||||
This release includes new features, various bug fixes and performance
|
||||
improvements, as well as updated translations.
|
||||
|
||||
Please report bugs using the issue tracker at GitHub:
|
||||
|
||||
<https://github.com/bitcoin/bitcoin/issues>
|
||||
|
||||
To receive security and update notifications, please subscribe to:
|
||||
|
||||
<https://bitcoincore.org/en/list/announcements/join/>
|
||||
|
||||
How to Upgrade
|
||||
==============
|
||||
|
||||
If you are running an older version, shut it down. Wait until it has completely
|
||||
shut down (which might take a few minutes in some cases), then run the
|
||||
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS)
|
||||
or `bitcoind`/`bitcoin-qt` (on Linux).
|
||||
|
||||
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
|
||||
possible, but it might take some time if the data directory needs to be migrated. Old
|
||||
wallet versions of Bitcoin Core are generally supported.
|
||||
|
||||
Compatibility
|
||||
==============
|
||||
|
||||
Bitcoin Core is supported and extensively tested on operating systems
|
||||
using the Linux Kernel 3.17+, macOS 11.0+, and Windows 7 and newer. Bitcoin
|
||||
Core should also work on most other Unix-like systems but is not as
|
||||
frequently tested on them. It is not recommended to use Bitcoin Core on
|
||||
unsupported systems.
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
P2P and network changes
|
||||
-----------------------
|
||||
|
||||
Updated RPCs
|
||||
------------
|
||||
|
||||
|
||||
Changes to wallet related RPCs can be found in the Wallet section below.
|
||||
|
||||
New RPCs
|
||||
--------
|
||||
|
||||
Build System
|
||||
------------
|
||||
|
||||
Updated settings
|
||||
----------------
|
||||
|
||||
|
||||
Changes to GUI or wallet related settings can be found in the GUI or Wallet section below.
|
||||
|
||||
New settings
|
||||
------------
|
||||
|
||||
Tools and Utilities
|
||||
-------------------
|
||||
|
||||
Wallet
|
||||
------
|
||||
|
||||
GUI changes
|
||||
-----------
|
||||
|
||||
Low-level changes
|
||||
=================
|
||||
|
||||
RPC
|
||||
---
|
||||
|
||||
Tests
|
||||
-----
|
||||
|
||||
*version* change log
|
||||
====================
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
|
||||
As well as to everyone that helped with translations on
|
||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
217
doc/release-notes.md
Normal file
217
doc/release-notes.md
Normal file
@@ -0,0 +1,217 @@
|
||||
Bitcoin Core version 27.0 is now available from:
|
||||
|
||||
<https://bitcoincore.org/bin/bitcoin-core-27.0/>
|
||||
|
||||
This release includes new features, various bug fixes and performance
|
||||
improvements, as well as updated translations.
|
||||
|
||||
Please report bugs using the issue tracker at GitHub:
|
||||
|
||||
<https://github.com/bitcoin/bitcoin/issues>
|
||||
|
||||
To receive security and update notifications, please subscribe to:
|
||||
|
||||
<https://bitcoincore.org/en/list/announcements/join/>
|
||||
|
||||
How to Upgrade
|
||||
==============
|
||||
|
||||
If you are running an older version, shut it down. Wait until it has completely
|
||||
shut down (which might take a few minutes in some cases), then run the
|
||||
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS)
|
||||
or `bitcoind`/`bitcoin-qt` (on Linux).
|
||||
|
||||
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
|
||||
possible, but it might take some time if the data directory needs to be migrated. Old
|
||||
wallet versions of Bitcoin Core are generally supported.
|
||||
|
||||
Compatibility
|
||||
==============
|
||||
|
||||
Bitcoin Core is supported and extensively tested on operating systems
|
||||
using the Linux Kernel 3.17+, macOS 11.0+, and Windows 7 and newer. Bitcoin
|
||||
Core should also work on most other Unix-like systems but is not as
|
||||
frequently tested on them. It is not recommended to use Bitcoin Core on
|
||||
unsupported systems.
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
libbitcoinconsensus
|
||||
-------------------
|
||||
|
||||
- libbitcoinconsensus is deprecated and will be removed for v28. This library has
|
||||
existed for nearly 10 years with very little known uptake or impact. It has
|
||||
become a maintenance burden.
|
||||
|
||||
The underlying functionality does not change between versions, so any users of
|
||||
the library can continue to use the final release indefinitely, with the
|
||||
understanding that Taproot is its final consensus update.
|
||||
|
||||
In the future, libbitcoinkernel will provide a much more useful API that is
|
||||
aware of the UTXO set, and therefore be able to fully validate transactions and
|
||||
blocks. (#29189)
|
||||
|
||||
mempool.dat compatibility
|
||||
-------------------------
|
||||
|
||||
- The `mempool.dat` file created by -persistmempool or the savemempool RPC will
|
||||
be written in a new format. This new format includes the XOR'ing of transaction
|
||||
contents to mitigate issues where external programs (such as anti-virus) attempt
|
||||
to interpret and potentially modify the file.
|
||||
|
||||
This new format can not be read by previous software releases. To allow for a
|
||||
downgrade, a temporary setting `-persistmempoolv1` has been added to fall back
|
||||
to the legacy format. (#28207)
|
||||
|
||||
P2P and network changes
|
||||
-----------------------
|
||||
|
||||
- BIP324 v2 transport is now enabled by default. It remains possible to disable v2
|
||||
by running with `-v2transport=0`. (#29347)
|
||||
- Manual connection options (`-connect`, `-addnode` and `-seednode`) will
|
||||
now follow `-v2transport` to connect with v2 by default. They will retry with
|
||||
v1 on failure. (#29058)
|
||||
|
||||
- Network-adjusted time has been removed from consensus code. It is replaced
|
||||
with (unadjusted) system time. The warning for a large median time offset
|
||||
(70 minutes or more) is kept. This removes the implicit security assumption of
|
||||
requiring an honest majority of outbound peers, and increases the importance
|
||||
of the node operator ensuring their system time is (and stays) correct to not
|
||||
fall out of consensus with the network. (#28956)
|
||||
|
||||
Mempool Policy Changes
|
||||
----------------------
|
||||
|
||||
- Opt-in Topologically Restricted Until Confirmation (TRUC) Transactions policy
|
||||
(aka v3 transaction policy) is available for use on test networks when
|
||||
`-acceptnonstdtxn=1` is set. By setting the transaction version number to 3, TRUC transactions
|
||||
request the application of limits on spending of their unconfirmed outputs. These
|
||||
restrictions simplify the assessment of incentive compatibility of accepting or
|
||||
replacing TRUC transactions, thus ensuring any replacements are more profitable for
|
||||
the node and making fee-bumping more reliable. TRUC transactions are currently
|
||||
nonstandard and can only be used on test networks where the standardness rules are
|
||||
relaxed or disabled (e.g. with `-acceptnonstdtxn=1`). (#28948)
|
||||
|
||||
External Signing
|
||||
----------------
|
||||
|
||||
- Support for external signing on Windows has been disabled. It will be re-enabled
|
||||
once the underlying dependency (Boost Process), has been replaced with a different
|
||||
library. (#28967)
|
||||
|
||||
Updated RPCs
|
||||
------------
|
||||
|
||||
- The addnode RPC now follows the `-v2transport` option (now on by default, see above) for making connections.
|
||||
It remains possible to specify the transport type manually with the v2transport argument of addnode. (#29239)
|
||||
|
||||
Build System
|
||||
------------
|
||||
|
||||
- A C++20 capable compiler is now required to build Bitcoin Core. (#28349)
|
||||
- MacOS releases are configured to use the hardened runtime libraries (#29127)
|
||||
|
||||
Wallet
|
||||
------
|
||||
|
||||
- The CoinGrinder coin selection algorithm has been introduced to mitigate unnecessary
|
||||
large input sets and lower transaction costs at high feerates. CoinGrinder
|
||||
searches for the input set with minimal weight. Solutions found by
|
||||
CoinGrinder will produce a change output. CoinGrinder is only active at
|
||||
elevated feerates (default: 30+ sat/vB, based on `-consolidatefeerate`×3). (#27877)
|
||||
- The Branch And Bound coin selection algorithm will be disabled when the subtract fee
|
||||
from outputs feature is used. (#28994)
|
||||
- If the birth time of a descriptor is detected to be later than the first transaction
|
||||
involving that descriptor, the birth time will be reset to the earlier time. (#28920)
|
||||
|
||||
Low-level changes
|
||||
=================
|
||||
|
||||
Pruning
|
||||
-------
|
||||
|
||||
- When pruning during initial block download, more blocks will be pruned at each
|
||||
flush in order to speed up the syncing of such nodes. (#20827)
|
||||
|
||||
Init
|
||||
----
|
||||
|
||||
- Various fixes to prevent issues where subsequent instances of Bitcoin Core would
|
||||
result in deletion of files in use by an existing instance. (#28784, #28946)
|
||||
- Improved handling of empty `settings.json` files. (#29144)
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- 22388o⚡️
|
||||
- Aaron Clauson
|
||||
- Amiti Uttarwar
|
||||
- Andrew Toth
|
||||
- Anthony Towns
|
||||
- Antoine Poinsot
|
||||
- Ava Chow
|
||||
- Brandon Odiwuor
|
||||
- brunoerg
|
||||
- Chris Stewart
|
||||
- Cory Fields
|
||||
- dergoegge
|
||||
- djschnei21
|
||||
- Fabian Jahr
|
||||
- fanquake
|
||||
- furszy
|
||||
- Gloria Zhao
|
||||
- Greg Sanders
|
||||
- Hennadii Stepanov
|
||||
- Hernan Marino
|
||||
- iamcarlos94
|
||||
- ismaelsadeeq
|
||||
- Jameson Lopp
|
||||
- Jesse Barton
|
||||
- John Moffett
|
||||
- Jon Atack
|
||||
- josibake
|
||||
- jrakibi
|
||||
- Justin Dhillon
|
||||
- Kashif Smith
|
||||
- kevkevin
|
||||
- Kristaps Kaupe
|
||||
- L0la L33tz
|
||||
- Luke Dashjr
|
||||
- Lőrinc
|
||||
- marco
|
||||
- MarcoFalke
|
||||
- Mark Friedenbach
|
||||
- Marnix
|
||||
- Martin Leitner-Ankerl
|
||||
- Martin Zumsande
|
||||
- Max Edwards
|
||||
- Murch
|
||||
- muxator
|
||||
- naiyoma
|
||||
- Nikodemas Tuckus
|
||||
- ns-xvrn
|
||||
- pablomartin4btc
|
||||
- Peter Todd
|
||||
- Pieter Wuille
|
||||
- Richard Myers
|
||||
- Roman Zeyde
|
||||
- Russell Yanofsky
|
||||
- Ryan Ofsky
|
||||
- Sebastian Falbesoner
|
||||
- Sergi Delgado Segura
|
||||
- Sjors Provoost
|
||||
- stickies-v
|
||||
- stratospher
|
||||
- Supachai Kheawjuy
|
||||
- TheCharlatan
|
||||
- UdjinM6
|
||||
- Vasil Dimov
|
||||
- w0xlt
|
||||
- willcl-ark
|
||||
|
||||
|
||||
As well as to everyone that helped with translations on
|
||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
@@ -1 +1,692 @@
|
||||
# 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=<cmd>
|
||||
|
||||
# For backwards compatibility, treat an unused bitcoin.conf file in the
|
||||
# datadir as a warning, not an error.
|
||||
#allowignoredconf=1
|
||||
|
||||
# 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:
|
||||
# 000000000000000000026811d149d4d261995ec5b3f64f439a0a10e1a464af9a,
|
||||
# testnet:
|
||||
# 000000000001323071f38f21ea5aae529ece491eadaccce506a59bcc2d968917,
|
||||
# signet:
|
||||
# 0000000870f15246ba23c16e370a7ffb1fc8a3dcf8cb4492882ed4b0e3d4cd26)
|
||||
#assumevalid=<hex>
|
||||
|
||||
# Maintain an index of compact filters by block (default: 0, values:
|
||||
# basic). If <type> is not supplied or if <type> = 1, indexes for
|
||||
# all known types are enabled.
|
||||
#blockfilterindex=<type>
|
||||
|
||||
# Execute command when the best block changes (%s in cmd is replaced by
|
||||
# block hash)
|
||||
#blocknotify=<cmd>
|
||||
|
||||
# Extra transactions to keep in memory for compact block reconstructions
|
||||
# (default: 100)
|
||||
#blockreconstructionextratxn=<n>
|
||||
|
||||
# Specify directory to hold blocks subdirectory for *.dat files (default:
|
||||
# <datadir>)
|
||||
#blocksdir=<dir>
|
||||
|
||||
# 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=<file>
|
||||
|
||||
# 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=<dir>
|
||||
|
||||
# Maximum database cache size <n> MiB (4 to 16384, default: 450). In
|
||||
# addition, unused mempool memory is shared for this cache (see
|
||||
# -maxmempool).
|
||||
#dbcache=<n>
|
||||
|
||||
# Specify location of debug log file (default: debug.log). Relative paths
|
||||
# will be prefixed by a net-specific datadir location. Pass
|
||||
# -nodebuglogfile to disable writing the log to a file.
|
||||
#debuglogfile=<file>
|
||||
|
||||
# Specify additional configuration file, relative to the -datadir path
|
||||
# (only useable from configuration file, not command line)
|
||||
#includeconf=<file>
|
||||
|
||||
# Imports blocks from external file on startup
|
||||
#loadblock=<file>
|
||||
|
||||
# Keep the transaction memory pool below <n> megabytes (default: 300)
|
||||
#maxmempool=<n>
|
||||
|
||||
# Keep at most <n> unconnectable transactions in memory (default: 100)
|
||||
#maxorphantx=<n>
|
||||
|
||||
# Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
# 336)
|
||||
#mempoolexpiry=<n>
|
||||
|
||||
# Set the number of script verification threads (0 = auto, up to 15, <0 =
|
||||
# leave that many cores free, default: 0)
|
||||
#par=<n>
|
||||
|
||||
# Whether to save the mempool on shutdown and load on restart (default: 1)
|
||||
#persistmempool=1
|
||||
|
||||
# Whether a mempool.dat file created by -persistmempool or the savemempool
|
||||
# RPC will be written in the legacy format (version 1) or the
|
||||
# current format (version 2). This temporary option will be removed
|
||||
# in the future. (default: 0)
|
||||
#persistmempoolv1=1
|
||||
|
||||
# Specify pid file. Relative paths will be prefixed by a net-specific
|
||||
# datadir location. (default: bitcoind.pid)
|
||||
#pid=<file>
|
||||
|
||||
# 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=<n>
|
||||
|
||||
# If enabled, wipe chain state and block index, and rebuild them from
|
||||
# blk*.dat files on disk. Also wipe and rebuild other optional
|
||||
# indexes that are active. If an assumeutxo snapshot was loaded,
|
||||
# its chainstate will be wiped as well. The snapshot can then be
|
||||
# reloaded via RPC.
|
||||
#reindex=1
|
||||
|
||||
# If enabled, wipe chain state, and rebuild it from blk*.dat files on
|
||||
# disk. If an assumeutxo snapshot was loaded, its chainstate will
|
||||
# be wiped as well. The snapshot can then be reloaded via RPC.
|
||||
#reindex-chainstate=1
|
||||
|
||||
# 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=<file>
|
||||
|
||||
# Execute command immediately before beginning shutdown. The need for
|
||||
# shutdown may be urgent, so be careful not to delay it long (if
|
||||
# the command doesn't require interaction with the server, consider
|
||||
# having it fork into the background).
|
||||
#shutdownnotify=<cmd>
|
||||
|
||||
# Execute command on startup.
|
||||
#startupnotify=<cmd>
|
||||
|
||||
# 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=<ip>
|
||||
|
||||
# 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=<file>
|
||||
|
||||
# Default duration (in seconds) of manually configured bans (default:
|
||||
# 86400)
|
||||
#bantime=<n>
|
||||
|
||||
# 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=<addr>[:<port>][=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=<ip>
|
||||
|
||||
# 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 or -maxconnections=0)
|
||||
#dnsseed=1
|
||||
|
||||
# Specify your own public address
|
||||
#externalip=<ip>
|
||||
|
||||
# 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
|
||||
|
||||
# Whether to accept inbound I2P connections (default: 1). Ignored if
|
||||
# -i2psam is not set. Listening for inbound I2P connections is done
|
||||
# through the SAM proxy, not by binding to a local address and
|
||||
# port.
|
||||
#i2pacceptincoming=1
|
||||
|
||||
# I2P SAM proxy to reach I2P peers and accept I2P connections (default:
|
||||
# none)
|
||||
#i2psam=<ip:port>
|
||||
|
||||
# Accept connections from outside (default: 1 if no -proxy, -connect or
|
||||
# -maxconnections=0)
|
||||
#listen=1
|
||||
|
||||
# Automatically create Tor onion service (default: 1)
|
||||
#listenonion=1
|
||||
|
||||
# Maintain at most <n> automatic 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=<n>
|
||||
|
||||
# Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)
|
||||
#maxreceivebuffer=<n>
|
||||
|
||||
# Maximum per-connection memory usage for the send buffer, <n>*1000 bytes
|
||||
# (default: 1000)
|
||||
#maxsendbuffer=<n>
|
||||
|
||||
# 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=<n>
|
||||
|
||||
# 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=<ip:port>
|
||||
|
||||
# Make automatic outbound connections only to network <net> (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=<net>
|
||||
|
||||
# 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
|
||||
|
||||
# Listen for connections on <port>. 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=<port>
|
||||
|
||||
# Connect through SOCKS5 proxy, set -noproxy to disable (default:
|
||||
# disabled)
|
||||
#proxy=<ip:port>
|
||||
|
||||
# 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=<ip>
|
||||
|
||||
# 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=<n>
|
||||
|
||||
# Tor control host and port to use if onion listening enabled (default:
|
||||
# 127.0.0.1:9051). If no port is specified, the default port of
|
||||
# 9051 will be used.
|
||||
#torcontrol=<ip>:<port>
|
||||
|
||||
# Tor control port password (default: empty)
|
||||
#torpassword=<pass>
|
||||
|
||||
# Use UPnP to map the listening port (default: 1 when listening and no
|
||||
# -proxy)
|
||||
#upnp=1
|
||||
|
||||
# Support v2 transport (default: 1)
|
||||
#v2transport=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=<amt>
|
||||
|
||||
# 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=<amt>
|
||||
|
||||
# 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=<amt>
|
||||
|
||||
# Set key pool size to <n> (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=<n>
|
||||
|
||||
# Spend up to this amount in additional (absolute) fees (in BTC) if it
|
||||
# allows the use of partial spend avoidance (default: 0.00)
|
||||
#maxapsfee=<n>
|
||||
|
||||
# Fee rates (in BTC/kvB) smaller than this are considered zero fee for
|
||||
# transaction creation (default: 0.00001)
|
||||
#mintxfee=<amt>
|
||||
|
||||
# Fee rate (in BTC/kvB) to add to transactions you send (default: 0.00)
|
||||
#paytxfee=<amt>
|
||||
|
||||
# External signing tool, see doc/external-signer.md
|
||||
#signer=<cmd>
|
||||
|
||||
# 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=<n>
|
||||
|
||||
# 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 <walletdir>. 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
|
||||
# <walletdir>.
|
||||
#wallet=<path>
|
||||
|
||||
# Make the wallet broadcast transactions (default: 1)
|
||||
#walletbroadcast=1
|
||||
|
||||
# Specify directory to hold wallets (default: <datadir>/wallets if it
|
||||
# exists, otherwise <datadir>)
|
||||
#walletdir=<dir>
|
||||
|
||||
# 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=<cmd>
|
||||
|
||||
# Send transactions with full-RBF opt-in enabled (RPC only, default: 1)
|
||||
#walletrbf=1
|
||||
|
||||
|
||||
### ZeroMQ notification options
|
||||
|
||||
|
||||
# Enable publish hash block in <address>
|
||||
#zmqpubhashblock=<address>
|
||||
|
||||
# Set publish hash block outbound message high water mark (default: 1000)
|
||||
#zmqpubhashblockhwm=<n>
|
||||
|
||||
# Enable publish hash transaction in <address>
|
||||
#zmqpubhashtx=<address>
|
||||
|
||||
# Set publish hash transaction outbound message high water mark (default:
|
||||
# 1000)
|
||||
#zmqpubhashtxhwm=<n>
|
||||
|
||||
# Enable publish raw block in <address>
|
||||
#zmqpubrawblock=<address>
|
||||
|
||||
# Set publish raw block outbound message high water mark (default: 1000)
|
||||
#zmqpubrawblockhwm=<n>
|
||||
|
||||
# Enable publish raw transaction in <address>
|
||||
#zmqpubrawtx=<address>
|
||||
|
||||
# Set publish raw transaction outbound message high water mark (default:
|
||||
# 1000)
|
||||
#zmqpubrawtxhwm=<n>
|
||||
|
||||
# Enable publish hash block and tx sequence in <address>
|
||||
#zmqpubsequence=<address>
|
||||
|
||||
# Set publish hash sequence message high water mark (default: 1000)
|
||||
#zmqpubsequencehwm=<n>
|
||||
|
||||
|
||||
### Debugging/Testing options
|
||||
|
||||
|
||||
# Output debug and trace logging (default: -nodebug, supplying <category>
|
||||
# is optional). If <category> is not supplied or if <category> = 1,
|
||||
# output all debug and trace logging. <category> can be: addrman,
|
||||
# bench, blockstorage, cmpctblock, coindb, estimatefee, http, i2p,
|
||||
# ipc, leveldb, libevent, mempool, mempoolrej, net, proxy, prune,
|
||||
# qt, rand, reindex, rpc, scan, selectcoins, tor, txpackages,
|
||||
# txreconciliation, util, validation, walletdb, zmq. This option
|
||||
# can be specified multiple times to output multiple categories.
|
||||
#debug=<category>
|
||||
|
||||
# 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=<category>
|
||||
|
||||
# Print help message with debugging options and exit
|
||||
#help-debug=1
|
||||
|
||||
# Include IP addresses in debug output (default: 0)
|
||||
#logips=1
|
||||
|
||||
# Always prepend a category and level (default: 0)
|
||||
#loglevelalways=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=<amt>
|
||||
|
||||
# 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=<cmt>
|
||||
|
||||
|
||||
### Chain selection options
|
||||
|
||||
|
||||
# Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
# signet, regtest
|
||||
#chain=<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
|
||||
|
||||
# Relay and mine transactions whose data-carrying raw scriptPubKey is of
|
||||
# this size or less (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=<amt>
|
||||
|
||||
# Relay non-P2SH multisig (default: 1)
|
||||
#permitbaremultisig=1
|
||||
|
||||
# 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=<n>
|
||||
|
||||
# Set lowest fee rate (in BTC/kvB) for transactions to be included in
|
||||
# block creation. (default: 0.00001)
|
||||
#blockmintxfee=<amt>
|
||||
|
||||
|
||||
### RPC server options
|
||||
|
||||
|
||||
# Accept public REST requests (default: 0)
|
||||
#rest=1
|
||||
|
||||
# Allow JSON-RPC connections from specified source. Valid values for <ip>
|
||||
# are a single IP (e.g. 1.2.3.4), a network/netmask (e.g.
|
||||
# 1.2.3.4/255.255.255.0), a network/CIDR (e.g. 1.2.3.4/24), all
|
||||
# ipv4 (0.0.0.0/0), or all ipv6 (::/0). This option can be
|
||||
# specified multiple times
|
||||
#rpcallowip=<ip>
|
||||
|
||||
# Username and HMAC-SHA-256 hashed password for JSON-RPC connections. The
|
||||
# field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
|
||||
# canonical python script is included in share/rpcauth. The client
|
||||
# then connects normally using the
|
||||
# rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
|
||||
# option can be specified multiple times
|
||||
#rpcauth=<userpw>
|
||||
|
||||
# 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=<addr>[:port]
|
||||
|
||||
# Location of the auth cookie. Relative paths will be prefixed by a
|
||||
# net-specific datadir location. (default: data dir)
|
||||
#rpccookiefile=<loc>
|
||||
|
||||
# Password for JSON-RPC connections
|
||||
#rpcpassword=<pw>
|
||||
|
||||
# Listen for JSON-RPC connections on <port> (default: 8332, testnet:
|
||||
# 18332, signet: 38332, regtest: 18443)
|
||||
#rpcport=<port>
|
||||
|
||||
# Set the number of threads to service RPC calls (default: 4)
|
||||
#rpcthreads=<n>
|
||||
|
||||
# Username for JSON-RPC connections
|
||||
#rpcuser=<user>
|
||||
|
||||
# Set a whitelist to filter incoming RPC calls for a specific user. The
|
||||
# field <whitelist> comes in the format: <USERNAME>:<rpc 1>,<rpc
|
||||
# 2>,...,<rpc n>. If multiple whitelists are set for a given user,
|
||||
# they are set-intersected. See -rpcwhitelistdefault documentation
|
||||
# for information on default whitelist behavior.
|
||||
#rpcwhitelist=<whitelist>
|
||||
|
||||
# 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]
|
||||
|
||||
@@ -37,6 +37,7 @@ uint64_t TestDouble(double f) {
|
||||
} // namespace
|
||||
|
||||
BOOST_AUTO_TEST_CASE(double_serfloat_tests) {
|
||||
// Test specific values against their expected encoding.
|
||||
BOOST_CHECK_EQUAL(TestDouble(0.0), 0U);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-0.0), 0x8000000000000000);
|
||||
BOOST_CHECK_EQUAL(TestDouble(std::numeric_limits<double>::infinity()), 0x7ff0000000000000U);
|
||||
@@ -46,55 +47,76 @@ BOOST_AUTO_TEST_CASE(double_serfloat_tests) {
|
||||
BOOST_CHECK_EQUAL(TestDouble(2.0), 0x4000000000000000ULL);
|
||||
BOOST_CHECK_EQUAL(TestDouble(4.0), 0x4010000000000000ULL);
|
||||
BOOST_CHECK_EQUAL(TestDouble(785.066650390625), 0x4088888880000000ULL);
|
||||
BOOST_CHECK_EQUAL(TestDouble(3.7243058682384174), 0x400dcb60e0031440);
|
||||
BOOST_CHECK_EQUAL(TestDouble(91.64070592566159), 0x4056e901536d447a);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-98.63087668642575), 0xc058a860489c007a);
|
||||
BOOST_CHECK_EQUAL(TestDouble(4.908737756962054), 0x4013a28c268b2b70);
|
||||
BOOST_CHECK_EQUAL(TestDouble(77.9247330021754), 0x40537b2ed3547804);
|
||||
BOOST_CHECK_EQUAL(TestDouble(40.24732825357566), 0x40441fa873c43dfc);
|
||||
BOOST_CHECK_EQUAL(TestDouble(71.39395607929222), 0x4051d936938f27b6);
|
||||
BOOST_CHECK_EQUAL(TestDouble(58.80100710817612), 0x404d668766a2bd70);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-30.10665786964975), 0xc03e1b4dee1e01b8);
|
||||
BOOST_CHECK_EQUAL(TestDouble(60.15231509068704), 0x404e137f0f969814);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-48.15848711335961), 0xc04814494e445bc6);
|
||||
BOOST_CHECK_EQUAL(TestDouble(26.68450101125353), 0x403aaf3b755169b0);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-65.72071986604303), 0xc0506e2046378ede);
|
||||
BOOST_CHECK_EQUAL(TestDouble(17.95575825512381), 0x4031f4ac92b0a388);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-35.27171863226279), 0xc041a2c7ad17a42a);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-8.58810329425124), 0xc0212d1bdffef538);
|
||||
BOOST_CHECK_EQUAL(TestDouble(88.51393044338977), 0x405620e43c83b1c8);
|
||||
BOOST_CHECK_EQUAL(TestDouble(48.07224932612732), 0x4048093f77466ffc);
|
||||
BOOST_CHECK_EQUAL(TestDouble(9.867348871395659e+117), 0x586f4daeb2459b9f);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-1.5166424385129721e+206), 0xeabe3bbc484bd458);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-8.585156555624594e-275), 0x8707c76eee012429);
|
||||
BOOST_CHECK_EQUAL(TestDouble(2.2794371091628822e+113), 0x5777b2184458f4ee);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-1.1290476594131867e+163), 0xe1c91893d3488bb0);
|
||||
BOOST_CHECK_EQUAL(TestDouble(9.143848423979275e-246), 0x0d0ff76e5f2620a3);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-2.8366718125941117e+81), 0xd0d7ec7e754b394a);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-1.2754409481684012e+229), 0xef80d32f8ec55342);
|
||||
BOOST_CHECK_EQUAL(TestDouble(6.000577060053642e-186), 0x197a1be7c8209b6a);
|
||||
BOOST_CHECK_EQUAL(TestDouble(2.0839423284378986e-302), 0x014c94f8689cb0a5);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-1.422140051483753e+259), 0xf5bd99271d04bb35);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-1.0593973991188853e+46), 0xc97db0cdb72d1046);
|
||||
BOOST_CHECK_EQUAL(TestDouble(2.62945125875249e+190), 0x67779b36366c993b);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-2.920377657275094e+115), 0xd7e7b7b45908e23b);
|
||||
BOOST_CHECK_EQUAL(TestDouble(9.790289014855851e-118), 0x27a3c031cc428bcc);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-4.629317182034961e-114), 0xa866ccf0b753705a);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-1.7674605603846528e+279), 0xf9e8ed383ffc3e25);
|
||||
BOOST_CHECK_EQUAL(TestDouble(2.5308171727712605e+120), 0x58ef5cd55f0ec997);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-1.05034156412799e+54), 0xcb25eea1b9350fa0);
|
||||
|
||||
// Roundtrip test on IEC559-compatible systems
|
||||
if (std::numeric_limits<double>::is_iec559) {
|
||||
BOOST_CHECK_EQUAL(sizeof(double), 8U);
|
||||
BOOST_CHECK_EQUAL(sizeof(uint64_t), 8U);
|
||||
// Test extreme values
|
||||
TestDouble(std::numeric_limits<double>::min());
|
||||
TestDouble(-std::numeric_limits<double>::min());
|
||||
TestDouble(std::numeric_limits<double>::max());
|
||||
TestDouble(-std::numeric_limits<double>::max());
|
||||
TestDouble(std::numeric_limits<double>::lowest());
|
||||
TestDouble(-std::numeric_limits<double>::lowest());
|
||||
TestDouble(std::numeric_limits<double>::quiet_NaN());
|
||||
TestDouble(-std::numeric_limits<double>::quiet_NaN());
|
||||
TestDouble(std::numeric_limits<double>::signaling_NaN());
|
||||
TestDouble(-std::numeric_limits<double>::signaling_NaN());
|
||||
TestDouble(std::numeric_limits<double>::denorm_min());
|
||||
TestDouble(-std::numeric_limits<double>::denorm_min());
|
||||
// Test exact encoding: on currently supported platforms, EncodeDouble
|
||||
// should produce exactly the same as the in-memory representation for non-NaN.
|
||||
for (int j = 0; j < 1000; ++j) {
|
||||
// Iterate over 9 specific bits exhaustively; the others are chosen randomly.
|
||||
// These specific bits are the sign bit, and the 2 top and bottom bits of
|
||||
// exponent and mantissa in the IEEE754 binary64 format.
|
||||
for (int x = 0; x < 512; ++x) {
|
||||
uint64_t v = InsecureRandBits(64);
|
||||
v &= ~(uint64_t{1} << 0);
|
||||
if (x & 1) v |= (uint64_t{1} << 0);
|
||||
v &= ~(uint64_t{1} << 1);
|
||||
if (x & 2) v |= (uint64_t{1} << 1);
|
||||
v &= ~(uint64_t{1} << 50);
|
||||
if (x & 4) v |= (uint64_t{1} << 50);
|
||||
v &= ~(uint64_t{1} << 51);
|
||||
if (x & 8) v |= (uint64_t{1} << 51);
|
||||
v &= ~(uint64_t{1} << 52);
|
||||
if (x & 16) v |= (uint64_t{1} << 52);
|
||||
v &= ~(uint64_t{1} << 53);
|
||||
if (x & 32) v |= (uint64_t{1} << 53);
|
||||
v &= ~(uint64_t{1} << 61);
|
||||
if (x & 64) v |= (uint64_t{1} << 61);
|
||||
v &= ~(uint64_t{1} << 62);
|
||||
if (x & 128) v |= (uint64_t{1} << 62);
|
||||
v &= ~(uint64_t{1} << 63);
|
||||
if (x & 256) v |= (uint64_t{1} << 63);
|
||||
double f;
|
||||
memcpy(&f, &v, 8);
|
||||
uint64_t v2 = TestDouble(f);
|
||||
if (!std::isnan(f)) BOOST_CHECK_EQUAL(v, v2);
|
||||
// Test extreme values
|
||||
BOOST_CHECK_EQUAL(TestDouble(std::numeric_limits<double>::min()), 0x10000000000000);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-std::numeric_limits<double>::min()), 0x8010000000000000);
|
||||
BOOST_CHECK_EQUAL(TestDouble(std::numeric_limits<double>::max()), 0x7fefffffffffffff);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-std::numeric_limits<double>::max()), 0xffefffffffffffff);
|
||||
BOOST_CHECK_EQUAL(TestDouble(std::numeric_limits<double>::lowest()), 0xffefffffffffffff);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-std::numeric_limits<double>::lowest()), 0x7fefffffffffffff);
|
||||
BOOST_CHECK_EQUAL(TestDouble(std::numeric_limits<double>::denorm_min()), 0x1);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-std::numeric_limits<double>::denorm_min()), 0x8000000000000001);
|
||||
// Note that all NaNs are encoded the same way.
|
||||
BOOST_CHECK_EQUAL(TestDouble(std::numeric_limits<double>::quiet_NaN()), 0x7ff8000000000000);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-std::numeric_limits<double>::quiet_NaN()), 0x7ff8000000000000);
|
||||
BOOST_CHECK_EQUAL(TestDouble(std::numeric_limits<double>::signaling_NaN()), 0x7ff8000000000000);
|
||||
BOOST_CHECK_EQUAL(TestDouble(-std::numeric_limits<double>::signaling_NaN()), 0x7ff8000000000000);
|
||||
|
||||
// Construct doubles to test from the encoding.
|
||||
static_assert(sizeof(double) == 8);
|
||||
static_assert(sizeof(uint64_t) == 8);
|
||||
for (int j = 0; j < 1000; ++j) {
|
||||
// Iterate over 9 specific bits exhaustively; the others are chosen randomly.
|
||||
// These specific bits are the sign bit, and the 2 top and bottom bits of
|
||||
// exponent and mantissa in the IEEE754 binary64 format.
|
||||
for (int x = 0; x < 512; ++x) {
|
||||
uint64_t v = InsecureRandBits(64);
|
||||
int x_pos = 0;
|
||||
for (int v_pos : {0, 1, 50, 51, 52, 53, 61, 62, 63}) {
|
||||
v &= ~(uint64_t{1} << v_pos);
|
||||
if ((x >> (x_pos++)) & 1) v |= (uint64_t{1} << v_pos);
|
||||
}
|
||||
double f;
|
||||
memcpy(&f, &v, 8);
|
||||
TestDouble(f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user