diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/files.md | 21 | ||||
-rw-r--r-- | doc/release-notes-14582.md | 14 | ||||
-rw-r--r-- | doc/release-notes-15367.md | 6 | ||||
-rw-r--r-- | doc/release-notes-15454.md | 6 | ||||
-rw-r--r-- | doc/release-notes-15937.md | 15 | ||||
-rw-r--r-- | doc/release-notes-16378.md | 6 | ||||
-rw-r--r-- | doc/release-notes-16525.md | 9 | ||||
-rw-r--r-- | doc/release-notes-18244.md | 7 | ||||
-rw-r--r-- | doc/release-notes-19405.md | 12 | ||||
-rw-r--r-- | doc/release-notes-19671.md | 6 | ||||
-rw-r--r-- | doc/release-notes-19731.md | 6 | ||||
-rw-r--r-- | doc/release-notes.md | 88 | ||||
-rw-r--r-- | doc/tor.md | 9 | ||||
-rw-r--r-- | doc/zmq.md | 2 |
14 files changed, 105 insertions, 102 deletions
diff --git a/doc/files.md b/doc/files.md index e52b3a972e..64cff43d3f 100644 --- a/doc/files.md +++ b/doc/files.md @@ -26,15 +26,16 @@ Linux | `$HOME/.bitcoin/` macOS | `$HOME/Library/Application Support/Bitcoin/` Windows | `%APPDATA%\Bitcoin\` <sup>[\[1\]](#note1)</sup> -2. The non-default data directory path can be specified by `-datadir` option. +2. A custom data directory path can be specified with the `-datadir` option. 3. All content of the data directory, except for `bitcoin.conf` file, is chain-specific. This means the actual data directory paths for non-mainnet cases differ: -Chain option | Data directory path ---------------------|-------------------- -no option (mainnet) | *path_to_datadir*`/` -`-testnet` | *path_to_datadir*`/testnet3/` -`-regtest` | *path_to_datadir*`/regtest/` +Chain option | Data directory path +-------------------------------|------------------------------ +`-chain=main` (default) | *path_to_datadir*`/` +`-chain=test` or `-testnet` | *path_to_datadir*`/testnet3/` +`-chain=signet` or `-signet` | *path_to_datadir*`/signet/` +`-chain=regtest` or `-regtest` | *path_to_datadir*`/regtest/` ## Data directory layout @@ -44,17 +45,18 @@ Subdirectory | File(s) | Description `blocks/index/` | LevelDB database | Block index; `-blocksdir` option does not affect this path `blocks/` | `blkNNNNN.dat`<sup>[\[2\]](#note2)</sup> | Actual Bitcoin blocks (in network format, dumped in raw on disk, 128 MiB per file) `blocks/` | `revNNNNN.dat`<sup>[\[2\]](#note2)</sup> | Block undo data (custom format) -`chainstate/` | LevelDB database | Blockchain state (a compact representation of all currently unspent transaction outputs and some metadata about the transactions they are from) +`chainstate/` | LevelDB database | Blockchain state (a compact representation of all currently unspent transaction outputs (UTXOs) and metadata about the transactions they are from) `indexes/txindex/` | LevelDB database | Transaction index; *optional*, used if `-txindex=1` `indexes/blockfilter/basic/db/` | LevelDB database | Blockfilter index LevelDB database for the basic filtertype; *optional*, used if `-blockfilterindex=basic` `indexes/blockfilter/basic/` | `fltrNNNNN.dat`<sup>[\[2\]](#note2)</sup> | Blockfilter index filters for the basic filtertype; *optional*, used if `-blockfilterindex=basic` -`wallets/` | | [Contains wallets](#multi-wallet-environment); can be specified by `-walletdir` option; if `wallets/` subdirectory does not exist, a wallet resides in the data directory +`wallets/` | | [Contains wallets](#multi-wallet-environment); can be specified by `-walletdir` option; if `wallets/` subdirectory does not exist, wallets reside in the [data directory](#data-directory-location) `./` | `banlist.dat` | Stores the IPs/subnets of banned nodes `./` | `bitcoin.conf` | User-defined [configuration settings](bitcoin-conf.md) for `bitcoind` or `bitcoin-qt`. File is not written to by the software and must be created manually. Path can be specified by `-conf` option `./` | `bitcoind.pid` | Stores the process ID (PID) of `bitcoind` or `bitcoin-qt` while running; created at start and deleted on shutdown; can be specified by `-pid` option `./` | `debug.log` | Contains debug information and general logging generated by `bitcoind` or `bitcoin-qt`; can be specified by `-debuglogfile` option `./` | `fee_estimates.dat` | Stores statistics used to estimate minimum transaction fees and priorities required for confirmation `./` | `guisettings.ini.bak` | Backup of former [GUI settings](#gui-settings) after `-resetguisettings` option is used +`./` | `ip_asn.map` | IP addresses to Autonomous System Numbers (ASNs) mapping used for bucketing of the peers; path can be specified with the `-asmap` option `./` | `mempool.dat` | Dump of the mempool's transactions `./` | `onion_v3_private_key` | Cached Tor onion service private key for `-listenonion` option `./` | `peers.dat` | Peer IP address database (custom format) @@ -102,7 +104,6 @@ Path | Description | Repository notes ## Notes -<a name="note1">1</a>. The `/` (slash, U+002F) is used as the platform-independent path component separator in this paper. +<a name="note1">1</a>. The `/` (slash, U+002F) is used as the platform-independent path component separator in this document. <a name="note2">2</a>. `NNNNN` matches `[0-9]{5}` regex. - diff --git a/doc/release-notes-14582.md b/doc/release-notes-14582.md deleted file mode 100644 index 28b0abecd7..0000000000 --- a/doc/release-notes-14582.md +++ /dev/null @@ -1,14 +0,0 @@ -Configuration -------------- - -A new configuration flag `-maxapsfee` has been added, which sets the max allowed -avoid partial spends (APS) fee. It defaults to 0 (i.e. fee is the same with -and without APS). Setting it to -1 will disable APS, unless `-avoidpartialspends` -is set. (#14582) - -Wallet ------- - -The wallet will now avoid partial spends (APS) by default, if this does not result -in a difference in fees compared to the non-APS variant. The allowed fee threshold -can be adjusted using the new `-maxapsfee` configuration option. (#14582) diff --git a/doc/release-notes-15367.md b/doc/release-notes-15367.md deleted file mode 100644 index 598e49dcae..0000000000 --- a/doc/release-notes-15367.md +++ /dev/null @@ -1,6 +0,0 @@ -Configuration option changes ----------------------------- - -- The `startupnotify` option is used to specify a command to - execute when Bitcoin Core has finished with its startup - sequence. (#15367)
\ No newline at end of file diff --git a/doc/release-notes-15454.md b/doc/release-notes-15454.md deleted file mode 100644 index 00c847a8d2..0000000000 --- a/doc/release-notes-15454.md +++ /dev/null @@ -1,6 +0,0 @@ -Wallet ------- - -Bitcoin Core will no longer create an unnamed `""` wallet by default when no wallet is specified on the command line or in the configuration files. -For backwards compatibility, if an unnamed `""` wallet already exists and would have been loaded previously, then it will still be loaded. -Users without an unnamed `""` wallet and without any other wallets to be loaded on startup will be prompted to either choose a wallet to load, or to create a new wallet. diff --git a/doc/release-notes-15937.md b/doc/release-notes-15937.md deleted file mode 100644 index 1ab817b0e5..0000000000 --- a/doc/release-notes-15937.md +++ /dev/null @@ -1,15 +0,0 @@ -Configuration -------------- - -Wallets created or loaded in the GUI will now be automatically loaded on -startup, so they don't need to be manually reloaded next time Bitcoin is -started. The list of wallets to load on startup is stored in -`\<datadir\>/settings.json` and augments any command line or `bitcoin.conf` -`-wallet=` settings that specify more wallets to load. Wallets that are -unloaded in the GUI get removed from the settings list so they won't load again -automatically next startup. (#19754) - -The `createwallet`, `loadwallet`, and `unloadwallet` RPCs now accept -`load_on_startup` options to modify the settings list. Unless these options are -explicitly set to true or false, the list is not modified, so the RPC methods -remain backwards compatible. (#15937) diff --git a/doc/release-notes-16378.md b/doc/release-notes-16378.md deleted file mode 100644 index 958633e780..0000000000 --- a/doc/release-notes-16378.md +++ /dev/null @@ -1,6 +0,0 @@ -RPC ---- -- A new `send` RPC with similar syntax to `walletcreatefundedpsbt`, including - support for coin selection and a custom fee rate. The `send` RPC is experimental - and may change in subsequent releases. Using it is encouraged once it's no - longer experimental: `sendmany` and `sendtoaddress` may be deprecated in a future release. diff --git a/doc/release-notes-16525.md b/doc/release-notes-16525.md deleted file mode 100644 index 220cb78de4..0000000000 --- a/doc/release-notes-16525.md +++ /dev/null @@ -1,9 +0,0 @@ -RPC changes ------------ - -Exposed transaction version numbers are now treated as unsigned 32-bit integers -instead of signed 32-bit integers. This matches their treatment in consensus -logic. Versions greater than 2 continue to be non-standard (matching previous -behavior of smaller than 1 or greater than 2 being non-standard). Note that -this includes the joinpsbt command, which combines partially-signed -transactions by selecting the highest version number. diff --git a/doc/release-notes-18244.md b/doc/release-notes-18244.md deleted file mode 100644 index 625fbaf7a1..0000000000 --- a/doc/release-notes-18244.md +++ /dev/null @@ -1,7 +0,0 @@ -Updated RPCs ------------- - -- `fundrawtransaction` and `walletcreatefundedpsbt` when used with the `lockUnspents` - argument now lock manually selected coins, in addition to automatically selected - coins. Note that locked coins are never used in automatic coin selection, but - can still be manually selected. diff --git a/doc/release-notes-19405.md b/doc/release-notes-19405.md deleted file mode 100644 index 14f2a81c7a..0000000000 --- a/doc/release-notes-19405.md +++ /dev/null @@ -1,12 +0,0 @@ -## Updated RPCs - -- `getnetworkinfo` now returns two new fields, `connections_in` and - `connections_out`, that provide the number of inbound and outbound peer - connections. These new fields are in addition to the existing `connections` - field, which returns the total number of peer connections. (#19405) - -## CLI - -- The `connections` field of `bitcoin-cli -getinfo` is expanded to return a JSON - object with `in`, `out` and `total` numbers of peer connections. It previously - returned a single integer value for the total number of peer connections. (#19405) diff --git a/doc/release-notes-19671.md b/doc/release-notes-19671.md deleted file mode 100644 index fb2d56d9a5..0000000000 --- a/doc/release-notes-19671.md +++ /dev/null @@ -1,6 +0,0 @@ -Wallet ------- - -* The `-zapwallettxes` startup option has been removed and its functionality removed from the wallet. - This option was originally intended to allow for the fee bumping of transactions that did not - signal RBF. This functionality has been superseded with the abandon transaction feature. diff --git a/doc/release-notes-19731.md b/doc/release-notes-19731.md deleted file mode 100644 index abe38e06af..0000000000 --- a/doc/release-notes-19731.md +++ /dev/null @@ -1,6 +0,0 @@ -Updated RPCs ------------- - -- The `getpeerinfo` RPC now has additional `last_block` and `last_transaction` - fields that return the UNIX epoch time of the last block and the last valid - transaction received from each peer. (#19731) diff --git a/doc/release-notes.md b/doc/release-notes.md index 16a9184b65..aef021a29d 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -96,6 +96,23 @@ P2P and network changes Updated RPCs ------------ +- The `getpeerinfo` RPC now has additional `last_block` and `last_transaction` + fields that return the UNIX epoch time of the last block and the last valid + transaction received from each peer. (#19731) + +- `getnetworkinfo` now returns two new fields, `connections_in` and + `connections_out`, that provide the number of inbound and outbound peer + connections. These new fields are in addition to the existing `connections` + field, which returns the total number of peer connections. (#19405) + +- Exposed transaction version numbers are now treated as unsigned 32-bit + integers instead of signed 32-bit integers. This matches their treatment in + consensus logic. Versions greater than 2 continue to be non-standard + (matching previous behavior of smaller than 1 or greater than 2 being + non-standard). Note that this includes the joinpsbt command, which combines + partially-signed transactions by selecting the highest version number. + (#16525) + - `getmempoolinfo` now returns an additional `unbroadcastcount` field. The mempool tracks locally submitted transactions until their initial broadcast is acknowledged by a peer. This field returns the count of transactions @@ -158,6 +175,10 @@ Build System Updated settings ---------------- +- The same ZeroMQ notification (e.g. `-zmqpubhashtx=address`) can now be + specified multiple times to publish the same notification to different ZeroMQ + sockets. (#18309) + - The `-banscore` configuration option, which modified the default threshold for disconnecting and discouraging misbehaving peers, has been removed as part of changes in 0.20.1 and in this release to the handling of misbehaving peers. @@ -174,13 +195,18 @@ Updated settings - Netmasks that contain 1-bits after 0-bits (the 1-bits are not contiguous on the left side, e.g. 255.0.255.255) are no longer accepted. They are invalid - according to RFC 4632. + according to RFC 4632. Netmasks are used in the `-rpcallowip` and `-whitelist` + configuration options and in the `setban` RPC. (#19628) Changes to Wallet or GUI related settings can be found in the GUI or Wallet section below. Tools and Utilities ------------------- +- The `connections` field of `bitcoin-cli -getinfo` is expanded to return a JSON + object with `in`, `out` and `total` numbers of peer connections. It previously + returned a single integer value for the total number of peer connections. (#19405) + - A new `bitcoin-cli -generate` command, equivalent to RPC `generatenewaddress` followed by `generatetoaddress`, can generate blocks for command line testing purposes. This is a client-side version of the @@ -193,6 +219,10 @@ Tools and Utilities New settings ------------ +- The `startupnotify` option is used to specify a command to + execute when Bitcoin Core has finished with its startup + sequence. (#15367) + Wallet ------ @@ -209,6 +239,9 @@ Wallet introduced unbroadcast set. See the "P2P and network changes" section for more information on the unbroadcast set. (#18038) +- The `sendtoaddress` and `sendmany` RPCs accept an optional `verbose=True` + argument to also return the fee reason about the sent tx. (#19501) + - The wallet can create a transaction without change even when the keypool is empty. Previously it failed. (#17219) @@ -216,6 +249,51 @@ Wallet has been added to the `bitcoin-wallet` tool which performs the salvage operations that `-salvagewallet` did. (#18918) +- A new configuration flag `-maxapsfee` has been added, which sets the max + allowed avoid partial spends (APS) fee. It defaults to 0 (i.e. fee is the + same with and without APS). Setting it to -1 will disable APS, unless + `-avoidpartialspends` is set. (#14582) + +- The wallet will now avoid partial spends (APS) by default, if this does not + result in a difference in fees compared to the non-APS variant. The allowed + fee threshold can be adjusted using the new `-maxapsfee` configuration + option. (#14582) + +- The `createwallet`, `loadwallet`, and `unloadwallet` RPCs now accept + `load_on_startup` options to modify the settings list. Unless these options + are explicitly set to true or false, the list is not modified, so the RPC + methods remain backwards compatible. (#15937) + +- A new `send` RPC with similar syntax to `walletcreatefundedpsbt`, including + support for coin selection and a custom fee rate. The `send` RPC is + experimental and may change in subsequent releases. Using it is encouraged + once it's no longer experimental: `sendmany` and `sendtoaddress` may be + deprecated in a future release. (#16378) + +- `fundrawtransaction` and `walletcreatefundedpsbt` when used with the + `lockUnspents` argument now lock manually selected coins, in addition to + automatically selected coins. Note that locked coins are never used in + automatic coin selection, but can still be manually selected. (#18244) + +- The `-zapwallettxes` startup option has been removed and its functionality + removed from the wallet. This option was originally intended to allow for + the fee bumping of transactions that did not signal RBF. This functionality + has been superseded with the abandon transaction feature. (#19671) + +- The error code when no wallet is loaded, but a wallet RPC is called, has been + changed from `-32601` (method not found) to `-18` (wallet not found). + (#20101) + +### Default Wallet + +Bitcoin Core will no longer create an unnamed `""` wallet by default when no +wallet is specified on the command line or in the configuration files. For +backwards compatibility, if an unnamed `""` wallet already exists and would +have been loaded previously, then it will still be loaded. Users without an +unnamed `""` wallet and without any other wallets to be loaded on startup will +be prompted to either choose a wallet to load, or to create a new wallet. +(#15454) + ### Experimental Descriptor Wallets Please note that Descriptor Wallets are still experimental and not all expected functionality @@ -345,6 +423,14 @@ issue. GUI changes ----------- +- Wallets created or loaded in the GUI will now be automatically loaded on + startup, so they don't need to be manually reloaded next time Bitcoin Core is + started. The list of wallets to load on startup is stored in + `\<datadir\>/settings.json` and augments any command line or `bitcoin.conf` + `-wallet=` settings that specify more wallets to load. Wallets that are + unloaded in the GUI get removed from the settings list so they won't load + again automatically next startup. (#19754) + - The GUI Peers window no longer displays a "Ban Score" field. This is part of changes in 0.20.1 and in this release to the handling of misbehaving peers. Refer to "Changes regarding misbehaving peers" in the 0.20.1 release diff --git a/doc/tor.md b/doc/tor.md index 17807856e5..12b5f70245 100644 --- a/doc/tor.md +++ b/doc/tor.md @@ -45,11 +45,12 @@ config file): *Needed for Tor version 0.2.7.0 and older versions of Tor only. Fo versions of Tor see [Section 3](#3-automatically-listen-on-tor).* HiddenServiceDir /var/lib/tor/bitcoin-service/ - HiddenServicePort 8333 127.0.0.1:8333 - HiddenServicePort 18333 127.0.0.1:18333 + HiddenServicePort 8333 127.0.0.1:8334 + HiddenServicePort 18333 127.0.0.1:18334 -The directory can be different of course, but (both) port numbers should be equal to -your bitcoind's P2P listen port (8333 by default). +The directory can be different of course, but virtual port numbers should be equal to +your bitcoind's P2P listen port (8333 by default), and target addresses and ports +should be equal to binding address and port for inbound Tor connections (127.0.0.1:8334 by default). -externalip=X You can tell bitcoin about its publicly reachable address using this option, and this can be a .onion address. Given the above diff --git a/doc/zmq.md b/doc/zmq.md index f003c90d3a..85f3370130 100644 --- a/doc/zmq.md +++ b/doc/zmq.md @@ -67,6 +67,7 @@ Currently, the following notifications are supported: The socket type is PUB and the address must be a valid ZeroMQ socket address. The same address can be used in more than one notification. +The same notification can be specified more than once. The option to set the PUB socket's outbound message high water mark (SNDHWM) may be set individually for each notification: @@ -82,6 +83,7 @@ The high water mark value must be an integer greater than or equal to 0. For instance: $ bitcoind -zmqpubhashtx=tcp://127.0.0.1:28332 \ + -zmqpubhashtx=tcp://192.168.1.2:28332 \ -zmqpubrawtx=ipc:///tmp/bitcoind.tx.raw \ -zmqpubhashtxhwm=10000 |