mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-05 18:52:29 +02:00
Merge #18807: [doc / test / mempool] unbroadcast follow-ups
9e1cb1adf1[trivial/doc] Fix comment type (Amiti Uttarwar)8f30260a67[doc] Update unbroadcast description in RPC results (Amiti Uttarwar)750456d6f2[trivial] Remove misleading 'const' (Amiti Uttarwar)fa32e676e5[test] Manage node connections better in mempool persist test (Amiti Uttarwar)1f94bb0c74[doc] Provide rationale for randomization in scheduling. (Amiti Uttarwar)9c8a55d9cb[mempool] Don't throw expected error message when upgrading (Amiti Uttarwar)ba54983182[test] Test that wallet transactions aren't rebroadcast before 12 hours (Amiti Uttarwar)00d44a534b[test] P2P connection behavior should meet expectations (Amiti Uttarwar)bd093ca15d[test] updates to unbroadcast test (Amiti Uttarwar)dab298d9ab[docs] add release notes (Amiti Uttarwar) Pull request description: This PR is a follow up to #18038 which introduced the idea of an unbroadcast set & focuses mostly on documentation updates and test fixes. One small functionality update to not throw an expected error in `LoadMempool` when you upgrade software versions. #18895 is another follow up to that addresses other functionality updates. Background context: The unbroadcast set is a mechanism for the mempool to track locally submitted transactions (via wallet or RPC). The node does a best-effort of delivering the transactions to the network via retries every 10-15 minutes until either a `GETDATA` is received or the transaction is removed from the mempool. ACKs for top commit: MarcoFalke: ACK9e1cb1adf1👁 gzhao408: ACK [`9e1cb1a`](9e1cb1adf1) Tree-SHA512: 0cd51c4ca368b9dce92d50d73ec6e9df278a259e609eef2858f24cb8595ad07acc3db781d9eb0c351715f18fca5a2b4526838981fdb34a522427e9dc868bdaa6
This commit is contained in:
@@ -65,9 +65,28 @@ Notable changes
|
||||
P2P and network changes
|
||||
-----------------------
|
||||
|
||||
- The mempool now tracks whether transactions submitted via the wallet or RPCs
|
||||
have been successfully broadcast. Every 10-15 minutes, the node will try to
|
||||
announce unbroadcast transactions until a peer requests it via a `getdata`
|
||||
message or the transaction is removed from the mempool for other reasons.
|
||||
The node will not track the broadcast status of transactions submitted to the
|
||||
node using P2P relay. This version reduces the initial broadcast guarantees
|
||||
for wallet transactions submitted via P2P to a node running the wallet. (#18038)
|
||||
|
||||
Updated RPCs
|
||||
------------
|
||||
|
||||
- `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
|
||||
waiting for acknowledgement.
|
||||
|
||||
- Mempool RPCs such as `getmempoolentry` and `getrawmempool` with
|
||||
`verbose=true` now return an additional `unbroadcast` field. This indicates
|
||||
whether initial broadcast of the transaction has been acknowledged by a
|
||||
peer. `getmempoolancestors` and `getmempooldescendants` are also updated.
|
||||
|
||||
|
||||
Changes to Wallet or GUI related RPCs can be found in the GUI or Wallet section below.
|
||||
|
||||
New RPCs
|
||||
@@ -87,6 +106,13 @@ New settings
|
||||
Wallet
|
||||
------
|
||||
|
||||
- To improve wallet privacy, the frequency of wallet rebroadcast attempts is
|
||||
reduced from approximately once every 15 minutes to once every 12-36 hours.
|
||||
To maintain a similar level of guarantee for initial broadcast of wallet
|
||||
transactions, the mempool tracks these transactions as a part of the newly
|
||||
introduced unbroadcast set. See the "P2P and network changes" section for
|
||||
more information on the unbroadcast set. (#18038)
|
||||
|
||||
#### Wallet RPC changes
|
||||
|
||||
- The `upgradewallet` RPC replaces the `-upgradewallet` command line option.
|
||||
|
||||
Reference in New Issue
Block a user