3211 Commits

Author SHA1 Message Date
merge-script
2bb06bcaf2
Merge bitcoin/bitcoin#31679: cmake: Install internal binaries to <prefix>/libexec/
f49840dd902cd9b14b6aadb431b16a4aeb719c3f doc: Fix typo in files.md (Ryan Ofsky)
f5cf0b1ccc8fd426135809a8a4becdae2d797bb5 bitcoin wrapper: improve help output (Ryan Ofsky)
c810b168b89dc07017e9feaec1a8746a449a60b1 doc: Add description of installed files to files.md (Ryan Ofsky)
94ffd01a0294afbe045f1b17a77e4a3caf21e674 doc: Add release notes describing libexec/ binaries (Ryan Ofsky)
cd97905ebc564b8b095099a28d1d5437951927c4 cmake: Move internal binaries from bin/ to libexec/ (Ryan Ofsky)

Pull request description:

  This change moves binaries that are not typically invoked directly by users from the `bin/` directory to the `libexec/` directory in CMake installs and binary releases. The goal of the PR is to introduce a distinction between internal and external binaries so starting with #31802, we can use IPC to implement features in new binaries without adding those binaries to the CLI. The change also helps reduce clutter in `bin/`, making it easier for users to identify useful tools to run. Summary of changes:

  - For **source builds** (i.e. developer builds) — There are no changes.
  - For **source installs** (i.e. `cmake --install` result) — `test_bitcoin`, `test_bitcoin-qt`, and `bench_bitcoin` are installed in `${CMAKE_PREFIX_PATH}/libexec` instead of `${CMAKE_PREFIX_PATH}/bin`, so they are no longer on the system `PATH`. However, they can still be invoked from the `libexec/` directory, or from the CLI as `bitcoin test`, `bitcoin test-gui`, and `bitcoin bench`, respectively.
  - For **binary releases** — Since `test_bitcoin` is the only test binary enabled in releases, the only change is moving `test_bitcoin` from `bin/` to `libexec/`.

  <details><summary>Details</summary>
  <p>

   The table below shows the install location of each binary after this change, and the availability of each binary.

  | Binary               | Location     | Availability         | Change                        |
  |----------------------|--------------|----------------------|-------------------------------|
  | `bitcoin`            | `bin/`       | 📦 Binary release (since #31375) | Unchanged                     |
  | `bitcoin-cli`        | `bin/`       | 📦 Binary release     | Unchanged                     |
  | `bitcoind`           | `bin/`       | 📦 Binary release     | Unchanged                     |
  | `bitcoin-qt`         | `bin/`       | 📦 Binary release     | Unchanged                     |
  | `bitcoin-tx`         | `bin/`       | 📦 Binary release     | Unchanged                     |
  | `bitcoin-util`       | `bin/`       | 📦 Binary release     | Unchanged                     |
  | `bitcoin-wallet`     | `bin/`       | 📦 Binary release     | Unchanged                     |
  | `bench_bitcoin`      | `libexec/`   | 🛠 Source build only  | Moved from `bin/`             |
  | `bitcoin-chainstate` | `libexec/`   | 🛠 Source build only  | Newly installed (was built)   |
  | `bitcoin-gui`        | `libexec/`   | 🛠 Source build only (until #31802) | Moved from `bin/`             |
  | `bitcoin-node`       | `libexec/`   | 🛠 Source build only (until #31802) | Moved from `bin/`             |
  | `test_bitcoin`       | `libexec/`    | 📦 Binary release     | Moved from `bin/`             |
  | `test_bitcoin-qt`    | `libexec/`   | 🛠 Source build only  | Moved from `bin/`             |

  </p>
  </details>

  ---

  This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/issues/28722).

ACKs for top commit:
  l0rinc:
    re-ACK f49840dd902cd9b14b6aadb431b16a4aeb719c3f
  Sjors:
    re-ACK f49840dd902cd9b14b6aadb431b16a4aeb719c3f
  achow101:
    ACK f49840dd902cd9b14b6aadb431b16a4aeb719c3f
  janb84:
    re ACK f49840dd902cd9b14b6aadb431b16a4aeb719c3f
  BrandonOdiwuor:
    Tested ACK f49840dd902cd9b14b6aadb431b16a4aeb719c3f
  hodlinator:
    re-ACK f49840dd902cd9b14b6aadb431b16a4aeb719c3f
  willcl-ark:
    utACK f49840dd902cd9b14b6aadb431b16a4aeb719c3f

Tree-SHA512: 858a2e1a53db11ee3c5c759bfdeea566f242b9ce5e8a898fa435222e41662b8184577c0dc2c4c058294b4de41d8cb3ba3e5d24c748c280efa4a3f84e3ec4344d
2025-08-07 14:53:26 +01:00
hoffman
7d60c0eb69
fix typo 2025-08-07 09:03:15 +01:00
kilavvy
96f8673b87
doc: fix typos 2025-08-07 09:01:55 +01:00
merge-script
eeb0b31e3a
Merge bitcoin/bitcoin#32941: p2p: TxOrphanage revamp cleanups
c0642e558a02319ade33dc1014e7ae981663ea46 [fuzz] fix latency score check in txorphan_protected (glozow)
3d4d4f0d92d42809e74377e4380abdc70f74de5d scripted-diff: rename "ann" variables to "latency_score" (monlovesmango)
3b924489238220710326e9031c7aaa0d606c9064 [doc] comment fixups for orphanage changes (glozow)
1384dbaf6d0bfcdb05f97e1e3cb3d5e498bee505 [config] emit warning for -maxorphantx, but allow it to be set (glozow)
b10c55b298d4d2b7dddfecdbeb0edc624b8e6eb2 fix up TxOrphanage lower_bound sanity checks (glozow)
cfd71c67043a2a46950fd3f055afbe4a93922f75 scripted-diff: rename TxOrphanage outpoints index (glozow)
edb97bb3f151600f00c94a2732d2595446011295 [logging] add logs for inner loop of LimitOrphans (glozow)
8a58d0e87d70580ae47da228e2f88cd53c40c675 scripted-diff: rename OrphanTxBase to OrphanInfo (glozow)
cc50f2f0df6e6e2cc9b9aeb3c3c8e1c78fa5be1d [cleanup] replace TxOrphanage::Size() with CountUniqueOrphans (glozow)
ed24e016969098c486f413f4f57dcffe35241785 [optimization] Maintain at most 1 reconsiderable announcement per wtxid (Pieter Wuille)
af7402ccfa7f19177b5f422f596a3ab2bd1e9633 [refactor] make TxOrphanage keep itself trimmed (glozow)
d1fac25ff3c3ac090b68e370efc6dd9374b6ad3b [doc] 31829 release note (glozow)

Pull request description:

  Followup to #31829:
  - Release notes
  - Have the orphanage auto-trim itself whenever necessary (and test changes) https://github.com/bitcoin/bitcoin/pull/31829#discussion_r2169508690
  - Reduce duplicate reconsiderations by keeping track of which txns are already reconsiderable so we only mark it for reconsideration for 1 peer at a time https://github.com/bitcoin/bitcoin/pull/31829#issuecomment-3001627814
  - Rename `OrphanTxBase` to `OrphanInfo`
  - Get rid of `Size()` method by replacing all calls with `CountUniqueOrphans`
  - Rename outpoints index since they point to wtxids, not iterators https://github.com/bitcoin/bitcoin/pull/31829#discussion_r2205557613
  - Add more logging in the `LimitOrphans` inner loop to make it easy to see which peers are being trimmed https://github.com/bitcoin/bitcoin/pull/31829#issuecomment-3074385460

ACKs for top commit:
  sipa:
    utACK c0642e558a02319ade33dc1014e7ae981663ea46
  marcofleon:
    Nice, ACK c0642e558a02319ade33dc1014e7ae981663ea46

Tree-SHA512: f298eae92cf906ed5e4f15a24eeffa7b9e620bcff457772cd77522dd9f0b3b183ffc976871b1b0e6fe93009e64877d518e53d4b9e186e0df58fc16d17f6de90a
2025-08-04 16:47:54 +01:00
glozow
d1fac25ff3 [doc] 31829 release note 2025-08-01 11:50:13 -04:00
merge-script
24246c3deb
Merge bitcoin/bitcoin#31385: package validation: relax the package-not-child-with-unconfirmed-parents rule
ea17a9423fb431a86d36927b02d3624f654fd867 [doc] release note for relaxing requirement of all unconfirmed parents present (glozow)
12f48d5ed302e92a334dbe971c66df467d402655 test: add chained 1p1c propagation test (Greg Sanders)
525be56741cff5f89d596b8a0c44df00f2209bcb [unit test] package submission 2p1c with 1 parent missing (glozow)
f24771af0581e8117bd638227469e37cc69c5103 relax child-with-unconfirmed-parents rule (glozow)

Pull request description:

  Broadens the package validation interface, see #27463 for wider context.

  On master, package rules include that (1) the package topology must be child-wth-parents (2) all of the child's unconfirmed parents must be present. This PR relaxes the second rule, leaving the first rule untouched (there are plans to change that as well, but not here).

  Original motivation for this rule was based on the idea that we would have a child-with-unconfirmed-parents package relay protocol, and this would verify that the peer provided the "correct" package. For various reasons, we're not planning on doing this. We could potentially do this for ancestor packages (with a similar definition that all UTXOs to make the tx valid are available in this package), but it's also questionable whether it's useful to enforce this.

  This rule gets in the way of certain usage of 1p1c package relay currently. If a transaction has multiple parents, of which only 1 requires a package CPFP, this rule blocks the package from relaying. Even if all the non-low-feerate parents are already in mempool, when the p2p logic submits the 1p1c package, it gets rejected for not meeting this rule.

ACKs for top commit:
  ishaanam:
    re-utACK ea17a9423fb431a86d36927b02d3624f654fd867
  instagibbs:
    ACK ea17a9423fb431a86d36927b02d3624f654fd867

Tree-SHA512: c2231761ae7b2acea10a96735e7a36c646f517964d0acb59bacbae1c5a1950e0223458b84c6d5ce008f0c1d53c1605df0fb3cd0064ee535ead006eb7c0fa625b
2025-08-01 15:45:20 +01:00
merge-script
b8025b30cc
Merge bitcoin/bitcoin#32559: doc: add alpine build instructions
4f502baf8f649e30d9495760b54080c272882213 doc: add alpine depends build instructions (will)
5332082d009914a8eeb087cc5057c0cc11f3207e doc: add alpine build instructions (will)

Pull request description:

  Closes: #32512

  - Provide Alpine build instructions in build-unix.md.
  - Instructions cover building all components except USDT which is marked as unsupported for Alpine.

ACKs for top commit:
  hebasto:
    ACK 4f502baf8f649e30d9495760b54080c272882213.

Tree-SHA512: 821565714aa556d16c0c721748420333fb5574aa13858186a799a5ccbda981c5b77da2d74a23de01c505591ed3b872eb5552051922ba101fedd50dfddc926b06
2025-08-01 14:42:44 +01:00
merge-script
5ee4e79669
Merge bitcoin/bitcoin#31244: descriptors: MuSig2
5fe7915c865a8e7c0a95ec376d0f1ff737f5d1c2 doc: Add musig() example (Ava Chow)
d576079ab470db4f500d0f2df5ddc77ab65e74cc tests: Test musig() parsing (Ava Chow)
a53924bee321f9d01d053cf562ee3d9493e00529 descriptor: Parse musig() key expressions (Ava Chow)
9473e9606ce7210a8912fb6e81e96ae35fdfb6ad descriptors: Move DeriveType parsing into its own function (Ava Chow)
4af0dca096ca497a6b4e5314c9edea683efe620e descriptor: Add MuSigPubkeyProvider (Ava Chow)
d00d95437dd113a23ccd556c25a77bb04bce23f7 Add MuSig2 Keyagg Cache helper functions (Ava Chow)
8ecea91bf296b8fae8b84c3dbf68d5703821cb79 sign: Add GetMuSig2ParticipantPubkeys to SigningProvider (Ava Chow)
fac0ee0bfc910a82678a3f8ec13c47967fd7def2 build: Enable secp256k1 musig module (Ava Chow)
1894f975032013ef855c438654fbb745512e7982 descriptors: Add PubkeyProvider::IsBIP32() (Ava Chow)
12bc1d0b1e9681c338c9d0df0bbac1d4a3162322 util/string: Allow Split to include the separator (Ava Chow)
88113125716c50ce4deb864041840d53a567554c script/parsing: Allow Const to not skip the found constant (Ava Chow)
5fe4c66462e6149c2ed3ce24224a7a7b328a2cfa XOnlyPubKey: Add GetCPubKeys (Ava Chow)

Pull request description:

  Implements parsing of BIP 390 `musig()` descriptors.

  Split from #29675

ACKs for top commit:
  w0xlt:
    reACK 5fe7915c86
  rkrux:
    ACK 5fe7915c865a8e7c0a95ec376d0f1ff737f5d1c2
  theStack:
    re-ACK 5fe7915c865a8e7c0a95ec376d0f1ff737f5d1c2 🎹
  Sjors:
    ACK 5fe7915c865a8e7c0a95ec376d0f1ff737f5d1c2

Tree-SHA512: a5be6288e277187fb9a1e2adf4e9822b46b1b8380d732b2fabd53f317c839aecb1971b04410486cbd65047fbc20956675d4d676f56caa37a44ff0e4d12b9b081
2025-07-31 16:51:39 -04:00
merge-script
8a94cf8efe
Merge bitcoin/bitcoin#30635: rpc: add optional blockhash to waitfornewblock, unhide wait methods in help
c6e2c31c55123cc97b4400bcbf3c37a39b067a22 rpc: unhide waitfor{block,newblock,blockheight} (Sjors Provoost)
0786b7509acd7e160345eea5fc25acd3c795d01c rpc: add optional blockhash to waitfornewblock (Sjors Provoost)

Pull request description:

  The `waitfornewblock` is inherently racy as the tip may have changed since the last RPC call, and can even change during initial processing of this call.

  Add an optional `blockhash` argument so the caller can specify their current tip. Return immediately if our tip is different.

  I've made it fail if `LookupBlockIndex` fails. This should never happen if the user got the block hash from our RPC in the first place.

  Finally, the `waitfor{block,newblock,blockheight}` RPC methods are no longer hidden in `help`:
  - the changes in #30409 ensured these methods _could_ work in the GUI
  - #31785 removed the guards that prevented GUI users from using them
  - this PR makes `waitfornewblock` reliable

  So there's no more reason to hide them.

ACKs for top commit:
  TheCharlatan:
    Re-ACK c6e2c31c55123cc97b4400bcbf3c37a39b067a22
  ryanofsky:
    Code review ACK c6e2c31c55123cc97b4400bcbf3c37a39b067a22. Just rebased and tweaked documentation since last review.
  glozow:
    utACK c6e2c31c55123cc97b4400bcbf3c37a39b067a22

Tree-SHA512: 84a0c94cb9a2e4449e7a395cf3dce1650626bd852e30e0e238a1aafae19d57bf440bfac226fd4da44eaa8d1b2fa4a8c1177b6c716235ab862a72ff5bf8fc67ac
2025-07-30 14:30:22 -04:00
Ava Chow
00604296e1
Merge bitcoin/bitcoin#32866: doc: add note for watch-only wallet migration
5888b4a2a5566c64141b78a0e7660a166ec99775 doc: add note for watch-only wallet migration (rkrux)

Pull request description:

  This was suggested in a previous PR #31423.

ACKs for top commit:
  achow101:
    ACK 5888b4a2a5566c64141b78a0e7660a166ec99775
  brunoerg:
    reACK 5888b4a2a5566c64141b78a0e7660a166ec99775
  jonatack:
    ACK 5888b4a2a5566c64141b78a0e7660a166ec99775

Tree-SHA512: 96e51eda30a1f31cfd82ae3296ca97c9236599b18e19086dbde3a908f6fe66af8f2de7aa147bdb9ebccb2059c809a25ddfb0c23da57e1a84a35b62ca0a44e3c3
2025-07-29 11:40:23 -07:00
Ava Chow
6b99670e3c
Merge bitcoin/bitcoin#33075: doc: Add legacy wallet removal release notes
fa45ccc15dfc52e798da62548dc43d1bd7889c9a doc: Add legacy wallet removal release notes (MarcoFalke)

Pull request description:

  This spans over several pulls, so add a single note for all of them.

ACKs for top commit:
  glozow:
    lgtm ACK fa45ccc15dfc52e798da62548dc43d1bd7889c9a
  achow101:
    ACK fa45ccc15dfc52e798da62548dc43d1bd7889c9a
  pablomartin4btc:
    ACK fa45ccc15dfc52e798da62548dc43d1bd7889c9a
  janb84:
    re ACK fa45ccc15dfc52e798da62548dc43d1bd7889c9a

Tree-SHA512: e753cc3afbd66a88099ff62c2591aa31d32d784098e433e392c20a8dfd40d5c85807e955b264a287c3778d68605cd7022278886a43cd1635c080d563c88fc0cc
2025-07-29 11:02:41 -07:00
Bufo
6757052fc4
doc: move cmake -B build -LH up in Unix build docs 2025-07-29 11:55:26 +01:00
rkrux
5888b4a2a5
doc: add note for watch-only wallet migration
This was suggested in a previous PR 31423.
2025-07-29 15:18:36 +05:30
MarcoFalke
fa45ccc15d
doc: Add legacy wallet removal release notes 2025-07-28 16:48:25 +02:00
merge-script
c8309198f8
Merge bitcoin/bitcoin#33070: doc/zmq: fix unix socket path example
e83699a626b8a41c8fb9d0450e14e06a29a98bb8 doc/zmq: fix unix socket path example (Roman Zeyde)

Pull request description:

  Following 75a5c8258e/doc/release-notes/release-notes-28.0.md (L105)

ACKs for top commit:
  pinheadmz:
    tested ACK e83699a626b8a41c8fb9d0450e14e06a29a98bb8
  cedwies:
    ACK e83699a

Tree-SHA512: a697d96762083f7a7c44c0ed366b68065a2538208cf7d2b9bcfc567bffeaa530ea5c16dc38bfd4bc38b926a5044d2fa880ffce6309366f3a11d181e59e122627
2025-07-28 10:17:58 +01:00
Roman Zeyde
e83699a626
doc/zmq: fix unix socket path example
Following 75a5c8258e/doc/release-notes/release-notes-28.0.md (L105)
2025-07-26 13:58:01 +03:00
Ava Chow
2e97541396
Merge bitcoin/bitcoin#32944: wallet: Remove upgradewallet RPC
d89c6fa4a71810cdb28395d4609632e1b22249b3 wallet: Remove `upgradewallet` RPC (w0xlt)

Pull request description:

  Based on discussions  in https://github.com/bitcoin/bitcoin/pull/32803, this PR proposes removing the ` upgradewallet`  RPC.

ACKs for top commit:
  maflcko:
    review ACK d89c6fa4a71810cdb28395d4609632e1b22249b3 🤙
  achow101:
    ACK d89c6fa4a71810cdb28395d4609632e1b22249b3
  pablomartin4btc:
    ACK d89c6fa4a71810cdb28395d4609632e1b22249b3
  brunoerg:
    Concept & light cr ACK d89c6fa4a71810cdb28395d4609632e1b22249b3

Tree-SHA512: 9ab89c9137ff83d7826da6b9d00d3617149a5d144129086a2685ee525087534c5ed06259075c0689ded52d33e075acb5067d185be04ecc638e27469f958f9a56
2025-07-25 12:59:52 -07:00
Ava Chow
b08041cac8
Merge bitcoin/bitcoin#32845: rpc, test: Fix JSON parsing errors in unloadwallet and getdescriptoractivity RPCs
c5c1960f9350d6315cadbdc95fface5f85f25806 doc: Add release notes for changes in RPCs (pablomartin4btc)
90fd5acbe57edb219a5dcbdc1095e11ae5398da5 rpc, test: Fix error message in getdescriptoractivity (pablomartin4btc)
39fef1d203678291020aa1adb2e420a117f86169 test: Add missing logging info for each test (pablomartin4btc)
53ac704efd668f7d4ad74158e628023c9a34141f rpc, test: Fix error message in unloadwallet (pablomartin4btc)
1fc3a8e8e7ae4698ac5cd5292a7e7e37097d37ce rpc, test: Add EnsureUniqueWalletName tests (pablomartin4btc)
b635bc0896294af5afa1b18a35f307dfae441bb8 rpc, util: Add EnsureUniqueWalletName (pablomartin4btc)

Pull request description:

  Currently, `unloadwallet` RPC call fails with a JSON parsing error when no `wallet_name` argument is provided. This behavior is misleading because the error originates from a low-level JSON type mismatch, rather than clearly indicating that the wallet name or RPC endpoint (`-rpcwallet=...`) is missing. Also, found out that the [issue](https://github.com/bitcoin/bitcoin/pull/13111#issuecomment-398831543) was noticed during its implementation but never addressed.

  In addition, I've verified all RPC commands calls finding that `getdescriptoractivity` had the same problem, but related to the array input types (blockhashes & descriptors), so I've corrected that RPC as well. For consistency I've added the missing logging info for each test case in `test/functional/rpc_getdescriptoractivity.py` in preparation for the new test.

  **_-Before_**
  ```
  ./build/bin/bitcoin-cli -regtest -datadir=/tmp/btc unloadwallet
  error code: -3
  error message:
  JSON value of type number is not of expected type string
  ```
  ```
  ./build/bin/bitcoin-cli -regtest -datadir=/tmp/btc getdescriptoractivity
  error code: -3
  error message:
  JSON value of type null is not of expected type array
  ```
  ```
  ./build/bin/bitcoin-cli -regtest -datadir=/tmp/btc getdescriptoractivity '[]'
  error code: -3
  error message:
  JSON value of type null is not of expected type array
  ```
  **_-After_**
  ```
  ./build/bin/bitcoin-cli -regtest -datadir=/tmp/btc unloadwallet
  error code: -8
  error message:
  Either the RPC endpoint wallet or the wallet name parameter must be provided
  ```
  ```
  ./build/bin/bitcoin-cli -regtest -datadir=/tmp/btc getdescriptoractivity
  error code: -1
  error message:
  getdescriptoractivity ["blockhash",...] [scanobjects,...] ( include_mempool )

  Get spend and receive activity associated with a set of descriptors for a set of blocks. This command pairs well with the `relevant_blocks` output of `scanblocks()`.
  This call may take several minutes. If you encounter timeouts, try specifying no RPC timeout (bitcoin-cli -rpcclienttimeout=0)

  Arguments:
  1. blockhashes                   (json array, required) The list of blockhashes to examine for activity. Order doesn't matter. Must be along main chain or an error is thrown.

       [
         "blockhash",              (string) A valid blockhash
         ...
       ]
  2. scanobjects                   (json array, required) Array of scan objects. Every scan object is either a string descriptor or an object:
       [
         "descriptor",             (string) An output descriptor
         {                         (json object) An object with output descriptor and metadata
           "desc": "str",          (string, required) An output descriptor
           "range": n or [n,n],    (numeric or array, optional, default=1000) The range of HD chain indexes to explore (either end or [begin,end])
         },
         ...
       ]
  3. include_mempool               (boolean, optional, default=true) Whether to include unconfirmed activity

  ...
  ```
  ```
  ./build/bin/bitcoin-cli -regtest -datadir=/tmp/btc getdescriptoractivity '[]'
  error code: -1
  error message:
  getdescriptoractivity ["blockhash",...] [scanobjects,...] ( include_mempool )

  ...
  ```

ACKs for top commit:
  achow101:
    ACK c5c1960f9350d6315cadbdc95fface5f85f25806
  stickies-v:
    re-ACK c5c1960f9350d6315cadbdc95fface5f85f25806
  furszy:
    ACK c5c1960f9350d6315cadbdc95fface5f85f25806

Tree-SHA512: e831ff1acbfd15d2ce3a69bb408cce94664c0b63b2aa2f4627a05c6c052241ae3b5cc238219ef1b30afb489a4a3f4c3030e2168b0c8f08b4d20805d050d810f5
2025-07-25 12:46:13 -07:00
glozow
ea17a9423f [doc] release note for relaxing requirement of all unconfirmed parents present 2025-07-24 09:44:49 -04:00
glozow
f24771af05 relax child-with-unconfirmed-parents rule
This rule was originally introduced along with a very early proposal for
package relay as a way to verify that the "correct"
child-with-unconfirmed-parents package was provided for a transaction,
where correctness was defined as all of the transactions unconfirmed
parents. However, we are not planning to introduce a protocol where
peers would be asked to send these packages.

This rule has downsides: if a transaction has multiple parents but only
1 that requires package CPFP to be accepted, the current rule prevents
us from accepting that package. Even if the other parents are already in
mempool, the p2p logic will only submit the 1p1c package, which fails
this check. See the test in p2p_1p1c_network.py
2025-07-24 09:44:48 -04:00
Lőrinc
ca38cf701d doc: fix a few obvious typos in the affected files 2025-07-23 22:00:40 -07:00
Lőrinc
ddab466e0d doc: remove manual TOCs 2025-07-23 21:31:35 -07:00
Lőrinc
26a3730711 doc: unify developer-notes and productivity header styles 2025-07-23 21:31:06 -07:00
merge-script
cfb859e82e
Merge bitcoin/bitcoin#33037: doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS)
faa2f3b1afe706c6d44fa1949dd97c9e6df5c9d1 doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) (MarcoFalke)

Pull request description:

  ref https://github.com/bitcoin/bitcoin/pull/32521

ACKs for top commit:
  Sjors:
    ACK faa2f3b1afe706c6d44fa1949dd97c9e6df5c9d1

Tree-SHA512: 58694545eca38cd4391d2ce6ddb9f4785c19af3df639da9d17fa1ade5d56369723e0e7fece71b50e2186a65aa55919c8f64ae12833d676e07b448e0cfc53ce3c
2025-07-23 10:50:02 +01:00
pablomartin4btc
c5c1960f93 doc: Add release notes for changes in RPCs
Adding notes for both `unloadwallet` and `getdescriptoractivity`.
2025-07-22 23:25:14 -03:00
MarcoFalke
faa2f3b1af
doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) 2025-07-22 12:10:48 +02:00
Antoine Poinsot
b2d07f872c Add release notes for -natpmp enabled by default 2025-07-17 13:01:05 -04:00
will
4f502baf8f
doc: add alpine depends build instructions 2025-07-15 21:32:54 +01:00
w0xlt
d89c6fa4a7 wallet: Remove upgradewallet RPC 2025-07-15 11:00:48 -07:00
stutxo
84ef5524d5 fix spelling in tor.md docs 2025-07-13 23:25:37 +01:00
Eugene Siegel
4c772cbd83
doc: add release notes for new rate limiting logging behavior 2025-07-09 09:13:00 -04:00
merge-script
09add84fc5
Merge bitcoin/bitcoin#32618: wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs
b1a8ac07e91dd1d305fcbc16ea931d60e46c0055 doc: Release note for removed watchonly parameters and results (Ava Chow)
15710869e19e707ef03492c55030dcefa16269d8 wallet: Remove ISMINE_WATCH_ONLY (Ava Chow)
4439bf4b41a6997d4d965f00a8c40efa9cf6895b wallet, spend: Remove fWatchOnly from CCoinControl (Ava Chow)
1337c72198a7d32935431d64e9e58c12f9003abc wallet, rpc: Remove watchonly from RPCs (Ava Chow)
e81d95d435744e48615973dc22acce1a291bd20d wallet: Remove watchonly balances (Ava Chow)
d20dc9c6aae089ab926fd135febd69a8f0744a18 wallet: Wallets without private keys cannot grind R (Ava Chow)
9991f49c38c084967ca66791d838c99b42f000eb test: Watchonly wallets should estimate larger size (Ava Chow)

Pull request description:

  Descriptor wallets do not use the watchonly behavior as it is not possible to mix watchonly and non-watchonly in a descriptor wallet. With legacy wallets now removed, all of the watchonly handling and reporting code is no longer needed. This PR removes watchonly options and results from the RPCs and the handling of watchonly things from the wallet's internals.

  With all of the watchonly things removed, ISMINE_WATCH_ONLY is removed as well.

  Split from #32523

  Depends on #32594 for tests that are easier to read

ACKs for top commit:
  Eunovo:
    ACK b1a8ac07e9
  maflcko:
    re-ACK b1a8ac07e91dd1d305fcbc16ea931d60e46c0055 🌈
  rkrux:
    ACK b1a8ac07e91dd1d305fcbc16ea931d60e46c0055
  furszy:
    light code review ACK b1a8ac07e91dd1d305fcbc16ea931d60e46c0055

Tree-SHA512: bc87f37a13294f7208991be8f93899b49e5bdf87c70e0f66d9c4cb09c03be6c202320406f27e9a35aa2f57319d19a3f0c07d5e5ddbc97c7edab165b1656d6612
2025-07-07 16:28:33 -04:00
Ryan Ofsky
f49840dd90 doc: Fix typo in files.md
Suggested by l0rinc https://github.com/bitcoin/bitcoin/pull/31679#discussion_r2185083314
2025-07-04 11:06:30 -04:00
Hennadii Stepanov
0a1af4418e
doc: Add workaround for vcpkg issue with paths with embedded spaces 2025-07-02 15:45:00 +01:00
merge-script
bf75c9964f
Merge bitcoin/bitcoin#32828: build, docs: Fix Boost-related issues on NetBSD
5a5ddbd78922236402df378c8588a7b0b3f83a13 build: Add workaround for NetBSD bug in `Boost::headers` target (Hennadii Stepanov)
4eb3cee919ed1f11d57f455dc5374131c557c6d2 doc: Update NetBSD Build Guide (Hennadii Stepanov)

Pull request description:

  The recently merged https://github.com/bitcoin/bitcoin/pull/32667 broke builds on NetBSD due to the following issues:

  1. The `boost-headers` package does not provide CMake configuration files now required since https://github.com/bitcoin/bitcoin/pull/32667.

     The first commit updates the Build Guide to recommend using the `boost` package instead.

  2. The CMake configuration file provided by the `boost` package is [broken](https://github.com/NetBSD/pkgsrc/issues/167).

     The second commit adds a workaround for this issue.

  Upstream issues:
  - https://github.com/NetBSD/pkgsrc/issues/167
  - https://github.com/NetBSD/pkgsrc/issues/168

  Successful CI job: https://github.com/hebasto/bitcoin-core-nightly/actions/runs/15958818914/job/45008576879.

ACKs for top commit:
  purpleKarrot:
    ACK 5a5ddbd78922236402df378c8588a7b0b3f83a13

Tree-SHA512: 617543edf2216c3673195cc562541d7637d7ea199320916c3660a91f6ee1ff01c014f519c5eeb3fc224f7a7304fdb75965ee3f4554d7fb277dd05ba3a6583b45
2025-07-02 13:29:49 +01:00
Ava Chow
fa9b1e3544
Merge bitcoin/bitcoin#32846: doc: clarify that the "-j N" goes after the "--build build" part
0e9f409db3b7b08aef75ce39765b018b69cc8e9d doc: clarify that the "-j N" goes after the "--build build" part (Salvatore Ingala)

Pull request description:

  I was surprised that something like `cmake -j 4 --build build` doesn't work, so this might help others to not make the same mistake.

ACKs for top commit:
  achow101:
    ACK 0e9f409db3b7b08aef75ce39765b018b69cc8e9d
  hebasto:
    ACK 0e9f409db3b7b08aef75ce39765b018b69cc8e9d.
  stickies-v:
    ACK 0e9f409db3b7b08aef75ce39765b018b69cc8e9d
  pablomartin4btc:
    ACK 0e9f409db3b7b08aef75ce39765b018b69cc8e9d
  theStack:
    ACK 0e9f409db3b7b08aef75ce39765b018b69cc8e9d
  brunoerg:
    ACK 0e9f409db3b7b08aef75ce39765b018b69cc8e9d
  w0xlt:
    ACK 0e9f409db3

Tree-SHA512: 5283f87a68abae4905b773e73aa4529f52d2302d804165b560b22f300a449d8ce1ae3194d2e1fe69be6f7e4d279dd32b8ef0daa18af4ac6a76a51f5abc39ec63
2025-07-01 11:56:37 -07:00
Ava Chow
b1a8ac07e9 doc: Release note for removed watchonly parameters and results 2025-07-01 11:26:42 -07:00
Salvatore Ingala
0e9f409db3
doc: clarify that the "-j N" goes after the "--build build" part
Also, capitalized the comments in build-unix.md for uniformity
with the docs on other targets.
2025-07-01 18:00:31 +08:00
merge-script
2ae5154dd8
Merge bitcoin/bitcoin#32842: doc: add /spenttxouts to REST-interface.md
dd99cedc0bfe7d7eee0f543bb27dab005c426c66 doc: add `/spenttxouts` to REST-interface.md (Sebastian Falbesoner)

Pull request description:

  Seems like adding the `spenttxouts` endpoint to the REST interface description was forgotten in #32540.

ACKs for top commit:
  maflcko:
    lgtm ACK dd99cedc0bfe7d7eee0f543bb27dab005c426c66
  pablomartin4btc:
    ACK dd99cedc0bfe7d7eee0f543bb27dab005c426c66

Tree-SHA512: 9b1da9cbab914664217cc7f8792092e672518ec7f79c7670eb1c54ef94e6cd52b139e1051035ce33ad62b7b74a169e3abc793d1804760787a11a0dc269d26402
2025-07-01 09:38:01 +01:00
Ava Chow
23a00fcf57
Merge bitcoin/bitcoin#32783: doc: Add fetching single PRs from upstream to productivity.md
45b1d39757668939b03b27401c324a938ef0cd8d doc: Add fetching single PRs from upstream (will)

Pull request description:

  Current recommendation is to add a new remote fetching all PRs, but this is resource-intensive.

  Document a better way to fetch a single PR, and to update a PR which has been force-pushed.

  Follows up on a [comment from 32774](https://github.com/bitcoin/bitcoin/pull/32774#discussion_r2156728913)

ACKs for top commit:
  pablomartin4btc:
    re-ACK 45b1d39
  achow101:
    ACK 45b1d39757668939b03b27401c324a938ef0cd8d
  janb84:
    re ACK 45b1d39757668939b03b27401c324a938ef0cd8d
  theStack:
    ACK 45b1d39757668939b03b27401c324a938ef0cd8d

Tree-SHA512: 3af02aa1335fd941538fabaa527bcfa92907dc6c272e72bc37ca38211b8aeebf32dd1837f976308058360ed1364fec749b49213f2b8bc4e35542da55a7bd30e1
2025-06-30 18:26:14 -07:00
Sebastian Falbesoner
dd99cedc0b doc: add /spenttxouts to REST-interface.md 2025-06-30 23:26:27 +02:00
merge-script
fb2c16cf7b
Merge bitcoin/bitcoin#32826: p2p: add more bad ports
6967e8e8abbc35ac98e8e3745a8bbed56e77526f add more bad p2p ports (Jameson Lopp)

Pull request description:

  Add a few more ports used by extremely well adopted services that require authentication and really ought not be used by bitcoin nodes for p2p traffic.

ACKs for top commit:
  Sjors:
    utACK 6967e8e8abbc35ac98e8e3745a8bbed56e77526f
  l0rinc:
    ACK 6967e8e8abbc35ac98e8e3745a8bbed56e77526f
  glozow:
    ACK 6967e8e8abbc35ac98e8e3745a8bbed56e77526f

Tree-SHA512: bbe86aef2be9727338712ded8f90227f5d12f633ab5d324c8907c01173945d1c4d9899e05565f78688842bbf5ebb010d22173969e4168ea08d4e33f01fe9569d
2025-06-30 13:28:17 -04:00
Jameson Lopp
6967e8e8ab
add more bad p2p ports 2025-06-30 06:24:00 -04:00
Hennadii Stepanov
4eb3cee919
doc: Update NetBSD Build Guide
The `boost-headers` package does not provide CMake configuration files
required since https://github.com/bitcoin/bitcoin/pull/32667. Install
the `boost` package instead.
2025-06-29 20:04:49 +01:00
Ava Chow
b3bb4031ab
Merge bitcoin/bitcoin#32540: rest: fetch spent transaction outputs by blockhash
c48846ec4169f749d28da05de849c43a488c3a70 doc: add release notes for #32540 (Roman Zeyde)
d4e212e8a69ea118acb6caa1a7efe64a77bdfdd2 rest: fetch spent transaction outputs by blockhash (Roman Zeyde)

Pull request description:

  Today, it is possible to fetch a block's spent prevouts in order to build an external index by using the `/rest/block/BLOCKHASH.json` endpoint. However, its performance is low due to JSON serialization overhead.

  We can significantly optimize it by adding a new [REST API](https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md) endpoint, using a binary response format (returning a collection of spent txout lists, one per each block transaction):

  ```
  $ BLOCKHASH=00000000000000000002a7c4c1e48d76c5a37902165a270156b7a8d72728a054

  $ ab -k -c 1 -n 100 http://localhost:8332/rest/block/$BLOCKHASH.json
  Document Length:        13278152 bytes
  Requests per second:    3.53 [#/sec] (mean)
  Time per request:       283.569 [ms] (mean)

  $ ab -k -c 1 -n 10000 http://localhost:8332/rest/spenttxouts/$BLOCKHASH.bin
  Document Length:        195591 bytes
  Requests per second:    254.47 [#/sec] (mean)
  Time per request:       3.930 [ms] (mean)
  ```

  Currently, this PR is being used and tested by Bindex[^1].

  This PR would allow to improve the performance of external indexers such as electrs[^2], ElectrumX[^3], Fulcrum[^4] and Blockbook[^5].

  [^1]: https://github.com/romanz/bindex-rs
  [^2]: https://github.com/romanz/electrs (also [blockstream.info](https://github.com/Blockstream/electrs) and [mempool.space](https://github.com/mempool/electrs) forks)
  [^3]: https://github.com/spesmilo/electrumx
  [^4]: https://github.com/cculianu/Fulcrum
  [^5]: https://github.com/trezor/blockbook

ACKs for top commit:
  maflcko:
    re-ACK c48846ec4169f749d28da05de849c43a488c3a70 📶
  TheCharlatan:
    Re-ACK c48846ec4169f749d28da05de849c43a488c3a70
  achow101:
    ACK c48846ec4169f749d28da05de849c43a488c3a70

Tree-SHA512: cf423541be90d6615289760494ae849b7239b69427036db6cc528ac81df10900f514471d81a460125522c5ffa31e9747ddfca187a1f93151e4ae77fe773c6b7b
2025-06-27 14:44:41 -07:00
Antoine Poinsot
558f0880a8 Add release note for #32530 2025-06-26 12:40:26 -04:00
merge-script
c1d8a542b4
Merge bitcoin/bitcoin#32727: doc: add release notes for #32425
b9a2e8ee965daffe2bc618f58b21f0ddebadeb23 doc: add release notes for https://github.com/bitcoin/bitcoin/pull/32425 (Vasil Dimov)

Pull request description:

  Add release notes for https://github.com/bitcoin/bitcoin/pull/32425.

ACKs for top commit:
  pablomartin4btc:
    re-ACK b9a2e8ee96
  janb84:
    reACK b9a2e8ee965daffe2bc618f58b21f0ddebadeb23
  glozow:
    ACK b9a2e8ee965daffe2bc618f58b21f0ddebadeb23, thanks for taking suggestions!

Tree-SHA512: 617612504977007909fde921e7e40286bcf81310f9cf3996783d6148219906784e9749d67f7a9a13305d7788208143e5f6ecceafbc6790f52dd08ffd9f91944c
2025-06-25 15:58:30 -04:00
will
45b1d39757
doc: Add fetching single PRs from upstream
Current recommendation is to add a new remote fetching all PRs, but this
is resource-intensive.

Document a better way to fetch a single PR, and to update a PR which has
been force-pushed.
2025-06-25 20:27:04 +01:00
Vasil Dimov
b9a2e8ee96
doc: add release notes for https://github.com/bitcoin/bitcoin/pull/32425
Co-authored-by: Jan B <608446+janb84@users.noreply.github.com>
2025-06-25 18:23:31 +02:00
Ava Chow
5fe7915c86 doc: Add musig() example 2025-06-24 13:43:32 -07:00