aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/README.md1
-rw-r--r--doc/bips.md1
-rw-r--r--doc/bitcoin-conf.md2
-rw-r--r--doc/build-osx.md8
-rw-r--r--doc/descriptors.md7
-rw-r--r--doc/design/assumeutxo.md4
-rw-r--r--doc/developer-notes.md10
-rw-r--r--doc/i2p.md26
-rw-r--r--doc/managing-wallets.md27
-rw-r--r--doc/policy/packages.md2
-rw-r--r--doc/release-notes-15936.md15
-rw-r--r--doc/release-notes-24098.md22
-rw-r--r--doc/release-notes-24118.md10
-rw-r--r--doc/release-notes-24148.md23
-rw-r--r--doc/release-notes-24198.md6
-rw-r--r--doc/release-notes-24494.md2
-rw-r--r--doc/release-notes-25504.md6
-rw-r--r--doc/release-notes-25610.md12
-rw-r--r--doc/release-notes.md124
-rw-r--r--doc/release-notes/release-notes-24408.md5
-rw-r--r--doc/release-notes/release-notes-471.md4
21 files changed, 65 insertions, 252 deletions
diff --git a/doc/README.md b/doc/README.md
index 31c95afab0..c570432aa4 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -53,7 +53,6 @@ The Bitcoin repo's [root README](/README.md) contains relevant information on th
- [Developer Notes](developer-notes.md)
- [Productivity Notes](productivity.md)
-- [Release Notes](release-notes.md)
- [Release Process](release-process.md)
- [Source Code Documentation (External Link)](https://doxygen.bitcoincore.org/)
- [Translation Process](translation_process.md)
diff --git a/doc/bips.md b/doc/bips.md
index 0f3f61daf1..ddc2205fab 100644
--- a/doc/bips.md
+++ b/doc/bips.md
@@ -58,6 +58,7 @@ BIPs that are implemented by Bitcoin Core (up-to-date up to **v23.0**):
with mainnet activation as of **v0.21.1** ([PR 21377](https://github.com/bitcoin/bitcoin/pull/21377),
[PR 21686](https://github.com/bitcoin/bitcoin/pull/21686)).
* [`BIP 350`](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki): Addresses for native v1+ segregated Witness outputs use Bech32m instead of Bech32 as of **v22.0** ([PR 20861](https://github.com/bitcoin/bitcoin/pull/20861)).
+* [`BIP 371`](https://github.com/bitcoin/bips/blob/master/bip-0371.mediawiki): Taproot fields for PSBT as of **v24.0** ([PR 22558](https://github.com/bitcoin/bitcoin/pull/22558)).
* [`BIP 380`](https://github.com/bitcoin/bips/blob/master/bip-0380.mediawiki)
[`381`](https://github.com/bitcoin/bips/blob/master/bip-0381.mediawiki)
[`382`](https://github.com/bitcoin/bips/blob/master/bip-0382.mediawiki)
diff --git a/doc/bitcoin-conf.md b/doc/bitcoin-conf.md
index acd767f234..1ebfb4c1de 100644
--- a/doc/bitcoin-conf.md
+++ b/doc/bitcoin-conf.md
@@ -6,6 +6,8 @@ All command-line options (except for `-?`, `-help`, `-version` and `-conf`) may
Changes to the configuration file while `bitcoind` or `bitcoin-qt` is running only take effect after restarting.
+Users should never make any configuration changes which they do not understand. Furthermore, users should always be wary of accepting any configuration changes provided to them by another source (even if they believe that they do understand them).
+
## Configuration File Format
The configuration file is a plain text file and consists of `option=value` entries, one per line. Leading and trailing whitespaces are removed.
diff --git a/doc/build-osx.md b/doc/build-osx.md
index fdf0a9d414..f11ed97e09 100644
--- a/doc/build-osx.md
+++ b/doc/build-osx.md
@@ -96,14 +96,6 @@ Skip if you don't intend to use the GUI.
brew install qt@5
```
-Ensure that the `qt@5` package is installed, not the `qt` package.
-If 'qt' is installed, the build process will fail.
-if installed, remove the `qt` package with the following command:
-
-``` bash
-brew uninstall qt
-```
-
Note: Building with Qt binaries downloaded from the Qt website is not officially supported.
See the notes in [#7714](https://github.com/bitcoin/bitcoin/issues/7714).
diff --git a/doc/descriptors.md b/doc/descriptors.md
index 60cc36db07..69a5ee2715 100644
--- a/doc/descriptors.md
+++ b/doc/descriptors.md
@@ -11,13 +11,16 @@ Supporting RPCs are:
addresses.
- `listunspent` outputs a specialized descriptor for the reported unspent outputs.
- `getaddressinfo` outputs a descriptor for solvable addresses (since v0.18).
-- `importmulti` takes as input descriptors to import into the wallet
+- `importmulti` takes as input descriptors to import into a legacy wallet
(since v0.18).
- `generatetodescriptor` takes as input a descriptor and generates coins to it
(`regtest` only, since v0.19).
- `utxoupdatepsbt` takes as input descriptors to add information to the psbt
(since v0.19).
-- `createmultisig` and `addmultisigaddress` return descriptors as well (since v0.20)
+- `createmultisig` and `addmultisigaddress` return descriptors as well (since v0.20).
+- `importdescriptors` takes as input descriptors to import into a descriptor wallet
+ (since v0.21).
+- `listdescriptors` outputs descriptors imported into a descriptor wallet (since v22).
This document describes the language. For the specifics on usage, see the RPC
documentation for the functions mentioned above.
diff --git a/doc/design/assumeutxo.md b/doc/design/assumeutxo.md
index 2726cf779b..c353c78ff8 100644
--- a/doc/design/assumeutxo.md
+++ b/doc/design/assumeutxo.md
@@ -41,7 +41,7 @@ be of use.
Chainstate within the system goes through a number of phases when UTXO snapshots are
used, as managed by `ChainstateManager`. At various points there can be multiple
-`CChainState` objects in existence to facilitate both maintaining the network tip and
+`Chainstate` objects in existence to facilitate both maintaining the network tip and
performing historical validation of the assumed-valid chain.
It is worth noting that though there are multiple separate chainstates, those
@@ -53,7 +53,7 @@ data.
### "Normal" operation via initial block download
-`ChainstateManager` manages a single CChainState object, for which
+`ChainstateManager` manages a single Chainstate object, for which
`m_snapshot_blockhash` is null. This chainstate is (maybe obviously)
considered active. This is the "traditional" mode of operation for bitcoind.
diff --git a/doc/developer-notes.md b/doc/developer-notes.md
index 1aa4e4d690..00c68911ef 100644
--- a/doc/developer-notes.md
+++ b/doc/developer-notes.md
@@ -386,8 +386,10 @@ Run configure with the `--enable-gprof` option, then make.
If the code is behaving strangely, take a look in the `debug.log` file in the data directory;
error and debugging messages are written there.
-The `-debug=...` command-line option controls debugging; running with just `-debug` or `-debug=1` will turn
-on all categories (and give you a very large `debug.log` file).
+Debug logging can be enabled on startup with the `-debug` and `-loglevel`
+configuration options and toggled while bitcoind is running with the `logging`
+RPC. For instance, launching bitcoind with `-debug` or `-debug=1` will turn on
+all log categories and `-loglevel=trace` will turn on all log severity levels.
The Qt code routes `qDebug()` output to `debug.log` under category "qt": run with `-debug=qt`
to see it.
@@ -960,7 +962,7 @@ void CTxMemPool::UpdateTransactionsFromBlock(...)
```C++
// validation.h
-class CChainState
+class Chainstate
{
protected:
...
@@ -981,7 +983,7 @@ public:
}
// validation.cpp
-bool CChainState::PreciousBlock(BlockValidationState& state, CBlockIndex* pindex)
+bool Chainstate::PreciousBlock(BlockValidationState& state, CBlockIndex* pindex)
{
AssertLockNotHeld(m_chainstate_mutex);
AssertLockNotHeld(::cs_main);
diff --git a/doc/i2p.md b/doc/i2p.md
index 39f65c4e5f..1599c2fe0f 100644
--- a/doc/i2p.md
+++ b/doc/i2p.md
@@ -47,9 +47,26 @@ In a typical situation, this suffices:
bitcoind -i2psam=127.0.0.1:7656
```
-The first time Bitcoin Core connects to the I2P router, its I2P address (and
-corresponding private key) will be automatically generated and saved in a file
-named `i2p_private_key` in the Bitcoin Core data directory.
+The first time Bitcoin Core connects to the I2P router, if
+`-i2pacceptincoming=1`, then it will automatically generate a persistent I2P
+address and its corresponding private key. The private key will be saved in a
+file named `i2p_private_key` in the Bitcoin Core data directory. The persistent
+I2P address is used for accepting incoming connections and for making outgoing
+connections if `-i2pacceptincoming=1`. If `-i2pacceptincoming=0` then only
+outbound I2P connections are made and a different transient I2P address is used
+for each connection to improve privacy.
+
+## Persistent vs transient I2P addresses
+
+In I2P connections, the connection receiver sees the I2P address of the
+connection initiator. This is unlike the Tor network where the recipient does
+not know who is connecting to them and can't tell if two connections are from
+the same peer or not.
+
+If an I2P node is not accepting incoming connections, then Bitcoin Core uses
+random, one-time, transient I2P addresses for itself for outbound connections
+to make it harder to discriminate, fingerprint or analyze it based on its I2P
+address.
## Additional configuration options related to I2P
@@ -85,7 +102,8 @@ one of the networks has issues.
## I2P-related information in Bitcoin Core
-There are several ways to see your I2P address in Bitcoin Core:
+There are several ways to see your I2P address in Bitcoin Core if accepting
+incoming I2P connections (`-i2pacceptincoming`):
- in the "Local addresses" output of CLI `-netinfo`
- in the "localaddresses" output of RPC `getnetworkinfo`
- in the debug log (grep for `AddLocal`; the I2P address ends in `.b32.i2p`)
diff --git a/doc/managing-wallets.md b/doc/managing-wallets.md
index 6c1e13c503..366d7ec54b 100644
--- a/doc/managing-wallets.md
+++ b/doc/managing-wallets.md
@@ -120,4 +120,29 @@ After that, `getwalletinfo` can be used to check if the wallet has been fully re
$ bitcoin-cli -rpcwallet="restored-wallet" getwalletinfo
```
-The restored wallet can also be loaded in the GUI via `File` ->`Open wallet`. \ No newline at end of file
+The restored wallet can also be loaded in the GUI via `File` ->`Open wallet`.
+
+## Migrating Legacy Wallets to Descriptor Wallets
+
+Legacy wallets (traditional non-descriptor wallets) can be migrated to become Descriptor wallets
+through the use of the `migratewallet` RPC. Migrated wallets will have all of their addresses and private keys added to
+a newly created Descriptor wallet that has the same name as the original wallet. Because Descriptor
+wallets do not support having private keys and watch-only scripts, there may be up to two
+additional wallets created after migration. In addition to a descriptor wallet of the same name,
+there may also be a wallet named `<name>_watchonly` and `<name>_solvables`. `<name>_watchonly`
+contains all of the watchonly scripts. `<name>_solvables` contains any scripts which the wallet
+knows but is not watching the corresponding P2(W)SH scripts.
+
+Migrated wallets will also generate new addresses differently. While the same BIP 32 seed will be
+used, the BIP 44, 49, 84, and 86 standard derivation paths will be used. After migrating, a new
+backup of the wallet(s) will need to be created.
+
+Given that there is an extremely large number of possible configurations for the scripts that
+Legacy wallets can know about, be watching for, and be able to sign for, `migratewallet` only
+makes a best effort attempt to capture all of these things into Descriptor wallets. There may be
+unforeseen configurations which result in some scripts being excluded. If a migration fails
+unexpectedly or otherwise misses any scripts, please create an issue on GitHub. A backup of the
+original wallet can be found in the wallet directory with the name `<name>-<timestamp>.legacy.bak`.
+
+The backup can be restored using the `restorewallet` command as discussed in the
+[Restoring the Wallet From a Backup](#16-restoring-the-wallet-from-a-backup) section
diff --git a/doc/policy/packages.md b/doc/policy/packages.md
index 03c26da86b..274854ddf9 100644
--- a/doc/policy/packages.md
+++ b/doc/policy/packages.md
@@ -33,7 +33,7 @@ The following rules are enforced for all packages:
* Packages cannot have conflicting transactions, i.e. no two transactions in a package can spend
the same inputs. Packages cannot have duplicate transactions. (#20833)
-* No transaction in a package can conflict with a mempool transaction. BIP125 Replace By Fee is
+* No transaction in a package can conflict with a mempool transaction. Replace By Fee is
currently disabled for packages. (#20833)
- Package RBF may be enabled in the future.
diff --git a/doc/release-notes-15936.md b/doc/release-notes-15936.md
deleted file mode 100644
index 90c0413b9a..0000000000
--- a/doc/release-notes-15936.md
+++ /dev/null
@@ -1,15 +0,0 @@
-GUI changes
------------
-
-Configuration changes made in the bitcoin GUI (such as the pruning setting,
-proxy settings, UPNP preferences) are now saved to `<datadir>/settings.json`
-file rather than to the Qt settings backend (windows registry or unix desktop
-config files), so these settings will now apply to bitcoind, instead of being
-ignored.
-
-Also, the interaction between GUI settings and `bitcoin.conf` settings is
-simplified. Settings from `bitcoin.conf` are now displayed normally in the GUI
-settings dialog, instead of in a separate warning message ("Options set in this
-dialog are overridden by the configuration file: -setting=value"). And these
-settings can now be edited because `settings.json` values take precedence over
-`bitcoin.conf` values.
diff --git a/doc/release-notes-24098.md b/doc/release-notes-24098.md
deleted file mode 100644
index 79e047e9a5..0000000000
--- a/doc/release-notes-24098.md
+++ /dev/null
@@ -1,22 +0,0 @@
-Notable changes
-===============
-
-Updated REST APIs
------------------
-
-- The `/headers/` and `/blockfilterheaders/` endpoints have been updated to use
- a query parameter instead of path parameter to specify the result count. The
- count parameter is now optional, and defaults to 5 for both endpoints. The old
- endpoints are still functional, and have no documented behaviour change.
-
- For `/headers`, use
- `GET /rest/headers/<BLOCK-HASH>.<bin|hex|json>?count=<COUNT=5>`
- instead of
- `GET /rest/headers/<COUNT>/<BLOCK-HASH>.<bin|hex|json>` (deprecated)
-
- For `/blockfilterheaders/`, use
- `GET /rest/blockfilterheaders/<FILTERTYPE>/<BLOCK-HASH>.<bin|hex|json>?count=<COUNT=5>`
- instead of
- `GET /rest/blockfilterheaders/<FILTERTYPE>/<COUNT>/<BLOCK-HASH>.<bin|hex|json>` (deprecated)
-
- (#24098)
diff --git a/doc/release-notes-24118.md b/doc/release-notes-24118.md
deleted file mode 100644
index 16f23c7d00..0000000000
--- a/doc/release-notes-24118.md
+++ /dev/null
@@ -1,10 +0,0 @@
-New RPCs
---------
-
-- The `sendall` RPC spends specific UTXOs to one or more recipients
- without creating change. By default, the `sendall` RPC will spend
- every UTXO in the wallet. `sendall` is useful to empty wallets or to
- create a changeless payment from select UTXOs. When creating a payment
- from a specific amount for which the recipient incurs the transaction
- fee, continue to use the `subtractfeefromamount` option via the
- `send`, `sendtoaddress`, or `sendmany` RPCs. (#24118)
diff --git a/doc/release-notes-24148.md b/doc/release-notes-24148.md
deleted file mode 100644
index f7a0fd6fa1..0000000000
--- a/doc/release-notes-24148.md
+++ /dev/null
@@ -1,23 +0,0 @@
-Notable changes
-===============
-
-Wallet
-------
-
-- The `wsh()` output descriptor was extended with Miniscript support. You can import Miniscript
- descriptors for P2WSH in a watchonly wallet to track coins, but you can't spend from them using
- the Bitcoin Core wallet yet.
- You can find more about Miniscript on the [reference website](https://bitcoin.sipa.be/miniscript/).
-
-
-Low-level changes
-=================
-
-RPC
----
-
-- The `deriveaddresses`, `getdescriptorinfo`, `importdescriptors` and `scantxoutset` commands now
- accept Miniscript expression within a `wsh()` descriptor.
-
-- The `getaddressinfo`, `decodescript`, `listdescriptors` and `listunspent` commands may now output
- a Miniscript descriptor inside a `wsh()` where a `wsh(raw())` descriptor was previously returned.
diff --git a/doc/release-notes-24198.md b/doc/release-notes-24198.md
deleted file mode 100644
index e41b2a8e26..0000000000
--- a/doc/release-notes-24198.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Updated RPCs
-------------
-
-- The `listtransactions`, `gettransaction`, and `listsinceblock`
- RPC methods now include a wtxid field (hash of serialized transaction,
- including witness data) for each transaction. \ No newline at end of file
diff --git a/doc/release-notes-24494.md b/doc/release-notes-24494.md
deleted file mode 100644
index afbb926433..0000000000
--- a/doc/release-notes-24494.md
+++ /dev/null
@@ -1,2 +0,0 @@
-To help prevent fingerprinting transactions created by the Bitcoin Core wallet, change output
-amounts are now randomized. (#24494)
diff --git a/doc/release-notes-25504.md b/doc/release-notes-25504.md
deleted file mode 100644
index bf80f18031..0000000000
--- a/doc/release-notes-25504.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Updated RPCs
-------------
-
-- The `listsinceblock`, `listtransactions` and `gettransaction` output now contain a new
- `parent_descs` field for every "receive" entry.
-- A new optional `include_change` parameter was added to the `listsinceblock` command.
diff --git a/doc/release-notes-25610.md b/doc/release-notes-25610.md
deleted file mode 100644
index 743a7709bf..0000000000
--- a/doc/release-notes-25610.md
+++ /dev/null
@@ -1,12 +0,0 @@
-Wallet
-------
-
-- The `-walletrbf` startup option will now default to `true`. The
- wallet will now default to opt-in RBF on transactions that it creates.
-
-Updated RPCs
-------------
-
-- The `replaceable` option for the `createrawtransaction` and
- `createpsbt` RPCs will now default to `true`. Transactions created
- with these RPCs will default to having opt-in RBF enabled.
diff --git a/doc/release-notes.md b/doc/release-notes.md
deleted file mode 100644
index 444926087b..0000000000
--- a/doc/release-notes.md
+++ /dev/null
@@ -1,124 +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 Mac)
-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, macOS 10.15+, 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
-------------
-
-- The `-deprecatedrpc=softforks` configuration option has been removed. The
- RPC `getblockchaininfo` no longer returns the `softforks` field, which was
- previously deprecated in 23.0. (#23508) Information on soft fork status is
- now only available via the `getdeploymentinfo` RPC.
-
-- The `deprecatedrpc=exclude_coinbase` configuration option has been removed.
- The `receivedby` RPCs (`listreceivedbyaddress`, `listreceivedbylabel`,
- `getreceivedbyaddress` and `getreceivedbylabel`) now always return results
- accounting for received coins from coinbase outputs, without an option to
- change that behaviour. Excluding coinbases was previously deprecated in 23.0.
- (#25171)
-
-- The `deprecatedrpc=fees` configuration option has been removed. The top-level
- fee fields `fee`, `modifiedfee`, `ancestorfees` and `descendantfees` are no
- longer returned by RPCs `getmempoolentry`, `getrawmempool(verbose=true)`,
- `getmempoolancestors(verbose=true)` and `getmempooldescendants(verbose=true)`.
- The same fee fields can be accessed through the `fees` object in the result.
- The top-level fee fields were previously deprecated in 23.0. (#25204)
-
-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
-------------
-
-- A new `mempoolfullrbf` option has been added, which enables the mempool to
- accept transaction replacement without enforcing BIP125 replaceability
- signaling. (#25353)
-
-Tools and Utilities
--------------------
-
-Wallet
-------
-
-- RPC `getreceivedbylabel` now returns an error, "Label not found
- in wallet" (-4), if the label is not in the address book. (#25122)
-
-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/).
diff --git a/doc/release-notes/release-notes-24408.md b/doc/release-notes/release-notes-24408.md
deleted file mode 100644
index 1072ec786a..0000000000
--- a/doc/release-notes/release-notes-24408.md
+++ /dev/null
@@ -1,5 +0,0 @@
-New RPCs
---------
-
-- A new `gettxspendingprevout` RPC has been added, which scans the mempool to find
- transactions spending any of the given outpoints. (#24408) \ No newline at end of file
diff --git a/doc/release-notes/release-notes-471.md b/doc/release-notes/release-notes-471.md
deleted file mode 100644
index 7cebedd8b3..0000000000
--- a/doc/release-notes/release-notes-471.md
+++ /dev/null
@@ -1,4 +0,0 @@
-GUI changes
---------
-
-- A new menu item to restore a wallet from a backup file has been added (#471). \ No newline at end of file