Commit Graph

3211 Commits

Author SHA1 Message Date
merge-script
2bb06bcaf2 Merge bitcoin/bitcoin#31679: cmake: Install internal binaries to <prefix>/libexec/
f49840dd90 doc: Fix typo in files.md (Ryan Ofsky)
f5cf0b1ccc bitcoin wrapper: improve help output (Ryan Ofsky)
c810b168b8 doc: Add description of installed files to files.md (Ryan Ofsky)
94ffd01a02 doc: Add release notes describing libexec/ binaries (Ryan Ofsky)
cd97905ebc 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 f49840dd90
  Sjors:
    re-ACK f49840dd90
  achow101:
    ACK f49840dd90
  janb84:
    re ACK f49840dd90
  BrandonOdiwuor:
    Tested ACK f49840dd90
  hodlinator:
    re-ACK f49840dd90
  willcl-ark:
    utACK f49840dd90

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
c0642e558a [fuzz] fix latency score check in txorphan_protected (glozow)
3d4d4f0d92 scripted-diff: rename "ann" variables to "latency_score" (monlovesmango)
3b92448923 [doc] comment fixups for orphanage changes (glozow)
1384dbaf6d [config] emit warning for -maxorphantx, but allow it to be set (glozow)
b10c55b298 fix up TxOrphanage lower_bound sanity checks (glozow)
cfd71c6704 scripted-diff: rename TxOrphanage outpoints index (glozow)
edb97bb3f1 [logging] add logs for inner loop of LimitOrphans (glozow)
8a58d0e87d scripted-diff: rename OrphanTxBase to OrphanInfo (glozow)
cc50f2f0df [cleanup] replace TxOrphanage::Size() with CountUniqueOrphans (glozow)
ed24e01696 [optimization] Maintain at most 1 reconsiderable announcement per wtxid (Pieter Wuille)
af7402ccfa [refactor] make TxOrphanage keep itself trimmed (glozow)
d1fac25ff3 [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 c0642e558a
  marcofleon:
    Nice, ACK c0642e558a

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
ea17a9423f [doc] release note for relaxing requirement of all unconfirmed parents present (glozow)
12f48d5ed3 test: add chained 1p1c propagation test (Greg Sanders)
525be56741 [unit test] package submission 2p1c with 1 parent missing (glozow)
f24771af05 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 ea17a9423f
  instagibbs:
    ACK ea17a9423f

Tree-SHA512: c2231761ae7b2acea10a96735e7a36c646f517964d0acb59bacbae1c5a1950e0223458b84c6d5ce008f0c1d53c1605df0fb3cd0064ee535ead006eb7c0fa625b
2025-08-01 15:45:20 +01:00
merge-script
b8025b30cc Merge bitcoin/bitcoin#32559: doc: add alpine build instructions
4f502baf8f doc: add alpine depends build instructions (will)
5332082d00 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 4f502baf8f.

Tree-SHA512: 821565714aa556d16c0c721748420333fb5574aa13858186a799a5ccbda981c5b77da2d74a23de01c505591ed3b872eb5552051922ba101fedd50dfddc926b06
2025-08-01 14:42:44 +01:00
merge-script
5ee4e79669 Merge bitcoin/bitcoin#31244: descriptors: MuSig2
5fe7915c86 doc: Add musig() example (Ava Chow)
d576079ab4 tests: Test musig() parsing (Ava Chow)
a53924bee3 descriptor: Parse musig() key expressions (Ava Chow)
9473e9606c descriptors: Move DeriveType parsing into its own function (Ava Chow)
4af0dca096 descriptor: Add MuSigPubkeyProvider (Ava Chow)
d00d95437d Add MuSig2 Keyagg Cache helper functions (Ava Chow)
8ecea91bf2 sign: Add GetMuSig2ParticipantPubkeys to SigningProvider (Ava Chow)
fac0ee0bfc build: Enable secp256k1 musig module (Ava Chow)
1894f97503 descriptors: Add PubkeyProvider::IsBIP32() (Ava Chow)
12bc1d0b1e util/string: Allow Split to include the separator (Ava Chow)
8811312571 script/parsing: Allow Const to not skip the found constant (Ava Chow)
5fe4c66462 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 5fe7915c86
  theStack:
    re-ACK 5fe7915c86 🎹
  Sjors:
    ACK 5fe7915c86

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
c6e2c31c55 rpc: unhide waitfor{block,newblock,blockheight} (Sjors Provoost)
0786b7509a 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 c6e2c31c55
  ryanofsky:
    Code review ACK c6e2c31c55. Just rebased and tweaked documentation since last review.
  glozow:
    utACK c6e2c31c55

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
5888b4a2a5 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 5888b4a2a5
  brunoerg:
    reACK 5888b4a2a5
  jonatack:
    ACK 5888b4a2a5

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
fa45ccc15d 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 fa45ccc15d
  achow101:
    ACK fa45ccc15d
  pablomartin4btc:
    ACK fa45ccc15d
  janb84:
    re ACK fa45ccc15d

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
e83699a626 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 e83699a626
  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
d89c6fa4a7 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 d89c6fa4a7 🤙
  achow101:
    ACK d89c6fa4a7
  pablomartin4btc:
    ACK d89c6fa4a7
  brunoerg:
    Concept & light cr ACK d89c6fa4a7

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
c5c1960f93 doc: Add release notes for changes in RPCs (pablomartin4btc)
90fd5acbe5 rpc, test: Fix error message in getdescriptoractivity (pablomartin4btc)
39fef1d203 test: Add missing logging info for each test (pablomartin4btc)
53ac704efd rpc, test: Fix error message in unloadwallet (pablomartin4btc)
1fc3a8e8e7 rpc, test: Add EnsureUniqueWalletName tests (pablomartin4btc)
b635bc0896 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 c5c1960f93
  stickies-v:
    re-ACK c5c1960f93
  furszy:
    ACK c5c1960f93

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)
faa2f3b1af 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 faa2f3b1af

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
b1a8ac07e9 doc: Release note for removed watchonly parameters and results (Ava Chow)
15710869e1 wallet: Remove ISMINE_WATCH_ONLY (Ava Chow)
4439bf4b41 wallet, spend: Remove fWatchOnly from CCoinControl (Ava Chow)
1337c72198 wallet, rpc: Remove watchonly from RPCs (Ava Chow)
e81d95d435 wallet: Remove watchonly balances (Ava Chow)
d20dc9c6aa wallet: Wallets without private keys cannot grind R (Ava Chow)
9991f49c38 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 b1a8ac07e9 🌈
  rkrux:
    ACK b1a8ac07e9
  furszy:
    light code review ACK b1a8ac07e9

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
5a5ddbd789 build: Add workaround for NetBSD bug in `Boost::headers` target (Hennadii Stepanov)
4eb3cee919 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 5a5ddbd789

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
0e9f409db3 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 0e9f409db3
  hebasto:
    ACK 0e9f409db3.
  stickies-v:
    ACK 0e9f409db3
  pablomartin4btc:
    ACK 0e9f409db3
  theStack:
    ACK 0e9f409db3
  brunoerg:
    ACK 0e9f409db3
  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
dd99cedc0b 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 dd99cedc0b
  pablomartin4btc:
    ACK dd99cedc0b

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
45b1d39757 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 45b1d39757
  janb84:
    re ACK 45b1d39757
  theStack:
    ACK 45b1d39757

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
6967e8e8ab 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 6967e8e8ab
  l0rinc:
    ACK 6967e8e8ab
  glozow:
    ACK 6967e8e8ab

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
c48846ec41 doc: add release notes for #32540 (Roman Zeyde)
d4e212e8a6 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 c48846ec41 📶
  TheCharlatan:
    Re-ACK c48846ec41
  achow101:
    ACK c48846ec41

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
b9a2e8ee96 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 b9a2e8ee96
  glozow:
    ACK b9a2e8ee96, 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