From 80c5d57bd118b1812c21604224dd316214af879c Mon Sep 17 00:00:00 2001 From: David Gumberg Date: Wed, 12 Mar 2025 14:55:14 -0700 Subject: [PATCH 01/10] contrib: Fix `gen-bitcoin-conf.sh`. In #31118, the format of bitcoind's `--help` output changed slightly in a way that breaks `gen-bitcoin-conf.sh`, modify the script to accomodate the new format, by starting after the line that says "Options:" and strip the `-help` option and its description from the output. Github-Pull: #32049 Rebased-From: a24419f8bed5e1145ce171dbbdad957750585471 --- contrib/devtools/gen-bitcoin-conf.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/contrib/devtools/gen-bitcoin-conf.sh b/contrib/devtools/gen-bitcoin-conf.sh index 234318e1a14..d31f5462956 100755 --- a/contrib/devtools/gen-bitcoin-conf.sh +++ b/contrib/devtools/gen-bitcoin-conf.sh @@ -50,7 +50,8 @@ EOF # adding newlines is a bit funky to ensure portability for BSD # see here for more details: https://stackoverflow.com/a/24575385 ${BITCOIND} --help \ - | sed '1,/Print this help message and exit/d' \ + | sed '1,/Options:/d' \ + | sed -E '/^[[:space:]]{2}-help/,/^[[:space:]]*$/d' \ | sed -E 's/^[[:space:]]{2}\-/#/' \ | sed -E 's/^[[:space:]]{7}/# /' \ | sed -E '/[=[:space:]]/!s/#.*$/&=1/' \ From 15ecae31a83ea66985496d2b8f2017cbd7749c26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C5=91rinc?= Date: Thu, 20 Feb 2025 16:48:28 +0100 Subject: [PATCH 02/10] fuzz: Always restrict base conversion input lengths They seem to cause timeouts: > Issue 397734700: bitcoin-core:base58check_encode_decode: Timeout in base58check_encode_decode The `encoded_string.empty()` check was corrected here to `decoded.empty()` to make sure the `(0, decoded.size() - 1)` range is always valid. Github-Pull: #31917 Rebased-From: bad1433ef2b5b02ac4b1c6c1d9482c513e5b2192 Co-authored-by: maflcko <6399679+maflcko@users.noreply.github.com> Co-authored-by: marcofleon Co-authored-by: Martin Zumsande --- src/test/fuzz/base_encode_decode.cpp | 35 ++++++++++++++-------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/src/test/fuzz/base_encode_decode.cpp b/src/test/fuzz/base_encode_decode.cpp index 06b249fb8d3..69caac58100 100644 --- a/src/test/fuzz/base_encode_decode.cpp +++ b/src/test/fuzz/base_encode_decode.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -19,42 +20,40 @@ using util::TrimStringView; FUZZ_TARGET(base58_encode_decode) { - FuzzedDataProvider provider(buffer.data(), buffer.size()); - const std::string random_string{provider.ConsumeRandomLengthString(1000)}; - const int max_ret_len{provider.ConsumeIntegralInRange(-1, 1000)}; + FuzzedDataProvider provider{buffer.data(), buffer.size()}; + const auto random_string{provider.ConsumeRandomLengthString(100)}; + const int max_ret_len{provider.ConsumeIntegralInRange(-1, 100)}; // Decode/Encode roundtrip - std::vector decoded; - if (DecodeBase58(random_string, decoded, max_ret_len)) { + if (std::vector decoded; DecodeBase58(random_string, decoded, max_ret_len)) { const auto encoded_string{EncodeBase58(decoded)}; assert(encoded_string == TrimStringView(random_string)); - assert(encoded_string.empty() || !DecodeBase58(encoded_string, decoded, provider.ConsumeIntegralInRange(0, decoded.size() - 1))); + assert(decoded.empty() || !DecodeBase58(encoded_string, decoded, provider.ConsumeIntegralInRange(0, decoded.size() - 1))); } // Encode/Decode roundtrip - const auto encoded{EncodeBase58(buffer)}; + const auto encoded{EncodeBase58(MakeUCharSpan(random_string))}; std::vector roundtrip_decoded; - assert(DecodeBase58(encoded, roundtrip_decoded, buffer.size()) - && std::ranges::equal(roundtrip_decoded, buffer)); + assert(DecodeBase58(encoded, roundtrip_decoded, random_string.size()) + && std::ranges::equal(roundtrip_decoded, MakeUCharSpan(random_string))); } FUZZ_TARGET(base58check_encode_decode) { - FuzzedDataProvider provider(buffer.data(), buffer.size()); - const std::string random_string{provider.ConsumeRandomLengthString(1000)}; - const int max_ret_len{provider.ConsumeIntegralInRange(-1, 1000)}; + FuzzedDataProvider provider{buffer.data(), buffer.size()}; + const auto random_string{provider.ConsumeRandomLengthString(100)}; + const int max_ret_len{provider.ConsumeIntegralInRange(-1, 100)}; // Decode/Encode roundtrip - std::vector decoded; - if (DecodeBase58Check(random_string, decoded, max_ret_len)) { + if (std::vector decoded; DecodeBase58Check(random_string, decoded, max_ret_len)) { const auto encoded_string{EncodeBase58Check(decoded)}; assert(encoded_string == TrimStringView(random_string)); - assert(encoded_string.empty() || !DecodeBase58Check(encoded_string, decoded, provider.ConsumeIntegralInRange(0, decoded.size() - 1))); + assert(decoded.empty() || !DecodeBase58Check(encoded_string, decoded, provider.ConsumeIntegralInRange(0, decoded.size() - 1))); } // Encode/Decode roundtrip - const auto encoded{EncodeBase58Check(buffer)}; + const auto encoded{EncodeBase58Check(MakeUCharSpan(random_string))}; std::vector roundtrip_decoded; - assert(DecodeBase58Check(encoded, roundtrip_decoded, buffer.size()) - && std::ranges::equal(roundtrip_decoded, buffer)); + assert(DecodeBase58Check(encoded, roundtrip_decoded, random_string.size()) + && std::ranges::equal(roundtrip_decoded, MakeUCharSpan(random_string))); } FUZZ_TARGET(base32_encode_decode) From 458655bca8eddd4d913958c579a46a6fca23cbf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C5=91rinc?= Date: Thu, 20 Feb 2025 16:57:26 +0100 Subject: [PATCH 03/10] fuzz: make sure DecodeBase58(Check) is called with valid values more often In Base58 fuzz the two roundtrips are merged now, the new `decode_input` switches between a completely random input and a valid encoded one, to make sure the decoding passes more often. The `max_ret_len` can also exceed the original length now and is being validated more thoroughly. Github-Pull: #31917 Rebased-From: d5537c18a9034647ba4c9ed4008abd7fee33989e Co-authored-by: maflcko <6399679+maflcko@users.noreply.github.com> Co-authored-by: marcofleon --- src/test/fuzz/base_encode_decode.cpp | 44 ++++++++++++++-------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/test/fuzz/base_encode_decode.cpp b/src/test/fuzz/base_encode_decode.cpp index 69caac58100..2ffcbdf7207 100644 --- a/src/test/fuzz/base_encode_decode.cpp +++ b/src/test/fuzz/base_encode_decode.cpp @@ -22,38 +22,38 @@ FUZZ_TARGET(base58_encode_decode) { FuzzedDataProvider provider{buffer.data(), buffer.size()}; const auto random_string{provider.ConsumeRandomLengthString(100)}; - const int max_ret_len{provider.ConsumeIntegralInRange(-1, 100)}; - // Decode/Encode roundtrip - if (std::vector decoded; DecodeBase58(random_string, decoded, max_ret_len)) { - const auto encoded_string{EncodeBase58(decoded)}; - assert(encoded_string == TrimStringView(random_string)); - assert(decoded.empty() || !DecodeBase58(encoded_string, decoded, provider.ConsumeIntegralInRange(0, decoded.size() - 1))); - } - // Encode/Decode roundtrip const auto encoded{EncodeBase58(MakeUCharSpan(random_string))}; - std::vector roundtrip_decoded; - assert(DecodeBase58(encoded, roundtrip_decoded, random_string.size()) - && std::ranges::equal(roundtrip_decoded, MakeUCharSpan(random_string))); + const auto decode_input{provider.ConsumeBool() ? random_string : encoded}; + const int max_ret_len{provider.ConsumeIntegralInRange(-1, decode_input.size() + 1)}; + if (std::vector decoded; DecodeBase58(decode_input, decoded, max_ret_len)) { + const auto encoded_string{EncodeBase58(decoded)}; + assert(encoded_string == TrimStringView(decode_input)); + if (decoded.size() > 0) { + assert(max_ret_len > 0); + assert(decoded.size() <= static_cast(max_ret_len)); + assert(!DecodeBase58(encoded_string, decoded, provider.ConsumeIntegralInRange(0, decoded.size() - 1))); + } + } } FUZZ_TARGET(base58check_encode_decode) { FuzzedDataProvider provider{buffer.data(), buffer.size()}; const auto random_string{provider.ConsumeRandomLengthString(100)}; - const int max_ret_len{provider.ConsumeIntegralInRange(-1, 100)}; - // Decode/Encode roundtrip - if (std::vector decoded; DecodeBase58Check(random_string, decoded, max_ret_len)) { - const auto encoded_string{EncodeBase58Check(decoded)}; - assert(encoded_string == TrimStringView(random_string)); - assert(decoded.empty() || !DecodeBase58Check(encoded_string, decoded, provider.ConsumeIntegralInRange(0, decoded.size() - 1))); - } - // Encode/Decode roundtrip const auto encoded{EncodeBase58Check(MakeUCharSpan(random_string))}; - std::vector roundtrip_decoded; - assert(DecodeBase58Check(encoded, roundtrip_decoded, random_string.size()) - && std::ranges::equal(roundtrip_decoded, MakeUCharSpan(random_string))); + const auto decode_input{provider.ConsumeBool() ? random_string : encoded}; + const int max_ret_len{provider.ConsumeIntegralInRange(-1, decode_input.size() + 1)}; + if (std::vector decoded; DecodeBase58Check(decode_input, decoded, max_ret_len)) { + const auto encoded_string{EncodeBase58Check(decoded)}; + assert(encoded_string == TrimStringView(decode_input)); + if (decoded.size() > 0) { + assert(max_ret_len > 0); + assert(decoded.size() <= static_cast(max_ret_len)); + assert(!DecodeBase58Check(encoded_string, decoded, provider.ConsumeIntegralInRange(0, decoded.size() - 1))); + } + } } FUZZ_TARGET(base32_encode_decode) From 5ebcb59fdb1270edac6b878d7bd97dd1f077aa06 Mon Sep 17 00:00:00 2001 From: Martin Zumsande Date: Thu, 13 Mar 2025 17:58:59 -0400 Subject: [PATCH 04/10] test: fix intermittent failure in p2p_orphan_handling.py If we bump the mocktime before the node has successfully disconnected the peer, the requests for both parents could be spread over two GETDATAS, which would make the test fail. Github-Pull: #32063 Rebased-From: 02942056fd861581503a8a35a06dcf22d4ba1473 --- test/functional/p2p_orphan_handling.py | 1 + 1 file changed, 1 insertion(+) diff --git a/test/functional/p2p_orphan_handling.py b/test/functional/p2p_orphan_handling.py index 370caad8800..d74a866ae5a 100755 --- a/test/functional/p2p_orphan_handling.py +++ b/test/functional/p2p_orphan_handling.py @@ -788,6 +788,7 @@ class OrphanHandlingTest(BitcoinTestFramework): # Disconnect peer1. peer2 should become the new candidate for orphan resolution. peer1.peer_disconnect() + self.wait_until(lambda: node.num_test_p2p_connections() == 1) node.bumpmocktime(TXREQUEST_TIME_SKIP) self.wait_until(lambda: len(node.getorphantxs(verbosity=2)[0]["from"]) == 1) # Both parents should be requested, now that they are both missing. From 7ff0b02161a1687b8bee6af0ff93ec65bbfc6cf2 Mon Sep 17 00:00:00 2001 From: Ava Chow Date: Thu, 13 Mar 2025 17:41:33 -0700 Subject: [PATCH 05/10] build: Remove manpages when making MacOS app Github-Pull: #32064 Rebased-From: 80b5e7f2cb7fbfbd724e1f52b00c0e72b79a200b --- cmake/module/Maintenance.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/module/Maintenance.cmake b/cmake/module/Maintenance.cmake index a1ae7c9e8f6..59e26d1bc11 100644 --- a/cmake/module/Maintenance.cmake +++ b/cmake/module/Maintenance.cmake @@ -83,6 +83,7 @@ function(add_macos_deploy_target) COMMAND ${CMAKE_COMMAND} --install ${PROJECT_BINARY_DIR} --config $ --component bitcoin-qt --prefix ${macos_app}/Contents/MacOS --strip COMMAND ${CMAKE_COMMAND} -E rename ${macos_app}/Contents/MacOS/bin/$ ${macos_app}/Contents/MacOS/Bitcoin-Qt COMMAND ${CMAKE_COMMAND} -E rm -rf ${macos_app}/Contents/MacOS/bin + COMMAND ${CMAKE_COMMAND} -E rm -rf ${macos_app}/Contents/MacOS/share VERBATIM ) From 4e438d326ea55ac0f98f89e41e69b56354e801e7 Mon Sep 17 00:00:00 2001 From: Sjors Provoost Date: Fri, 14 Mar 2025 16:19:45 +0100 Subject: [PATCH 06/10] build: use make < 3.82 syntax for define directive From the GNU make 3.82 release announcement: * The 'define' make directive now allows a variable assignment operator after the variable name, to allow for simple, conditional, or appending multi-line variable assignment. macOS ships with 3.81. This caused the multiprocess config options to be ignored. Fixes #32068 Github-Pull: #32070 Rebased-From: 9157d9e449870851ef455e077249ac46fc2df24c Co-authored-by: Ryan Ofsky --- depends/packages/capnp.mk | 2 +- depends/packages/libmultiprocess.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/packages/capnp.mk b/depends/packages/capnp.mk index 7f41d3b5a4e..542bf126297 100644 --- a/depends/packages/capnp.mk +++ b/depends/packages/capnp.mk @@ -5,7 +5,7 @@ $(package)_download_file=$(native_$(package)_download_file) $(package)_file_name=$(native_$(package)_file_name) $(package)_sha256_hash=$(native_$(package)_sha256_hash) -define $(package)_set_vars := +define $(package)_set_vars $(package)_config_opts := -DBUILD_TESTING=OFF $(package)_config_opts += -DWITH_OPENSSL=OFF $(package)_config_opts += -DWITH_ZLIB=OFF diff --git a/depends/packages/libmultiprocess.mk b/depends/packages/libmultiprocess.mk index afbd315e388..47064a9bb6c 100644 --- a/depends/packages/libmultiprocess.mk +++ b/depends/packages/libmultiprocess.mk @@ -8,7 +8,7 @@ ifneq ($(host),$(build)) $(package)_dependencies += native_capnp endif -define $(package)_set_vars := +define $(package)_set_vars ifneq ($(host),$(build)) $(package)_config_opts := -DCAPNP_EXECUTABLE="$$(native_capnp_prefixbin)/capnp" $(package)_config_opts += -DCAPNPC_CXX_EXECUTABLE="$$(native_capnp_prefixbin)/capnpc-c++" From a4c30bd00a0ec977a1518416cdf7f0a24868a9f2 Mon Sep 17 00:00:00 2001 From: Sebastian Falbesoner Date: Sun, 16 Mar 2025 17:14:22 +0100 Subject: [PATCH 07/10] qt: doc: adapt outdated binary paths to CMake changes Github-Pull: bitcoin-core/gui#858 Rebased-From: 7ebc458a8cb994bc3c0c129da61353968d955bc2 --- src/qt/README.md | 2 +- src/qt/test/wallettests.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qt/README.md b/src/qt/README.md index 1fcac5414f5..4a662b2a12d 100644 --- a/src/qt/README.md +++ b/src/qt/README.md @@ -120,5 +120,5 @@ sudo apt-get install qtcreator - Under `Debuggers`: select `"GDB"` as debugger 8. While in the `Projects` tab, ensure that you have the `bitcoin-qt` executable specified under `Run` - - If the executable is not specified: click `"Choose..."`, navigate to `src/qt`, and select `bitcoin-qt` + - If the executable is not specified: click `"Choose..."`, navigate to `build/bin`, and select `bitcoin-qt` 9. You're all set! Start developing, building, and debugging the Bitcoin Core GUI diff --git a/src/qt/test/wallettests.cpp b/src/qt/test/wallettests.cpp index 98dfe12f084..816d47fed46 100644 --- a/src/qt/test/wallettests.cpp +++ b/src/qt/test/wallettests.cpp @@ -268,9 +268,9 @@ public: // // This also requires overriding the default minimal Qt platform: // -// QT_QPA_PLATFORM=xcb src/qt/test/test_bitcoin-qt # Linux -// QT_QPA_PLATFORM=windows src/qt/test/test_bitcoin-qt # Windows -// QT_QPA_PLATFORM=cocoa src/qt/test/test_bitcoin-qt # macOS +// QT_QPA_PLATFORM=xcb build/bin/test_bitcoin-qt # Linux +// QT_QPA_PLATFORM=windows build/bin/test_bitcoin-qt # Windows +// QT_QPA_PLATFORM=cocoa build/bin/test_bitcoin-qt # macOS void TestGUI(interfaces::Node& node, const std::shared_ptr& wallet) { // Create widgets for sending coins and listing transactions. From 472d582bfec4dcdecb5f4d9bbbe41ea7961ca62b Mon Sep 17 00:00:00 2001 From: glozow Date: Sun, 16 Mar 2025 22:07:46 -0400 Subject: [PATCH 08/10] [build] bump to 29.0rc2 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ad29249e95..8b7e6631348 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,7 +26,7 @@ set(CLIENT_NAME "Bitcoin Core") set(CLIENT_VERSION_MAJOR 29) set(CLIENT_VERSION_MINOR 0) set(CLIENT_VERSION_BUILD 0) -set(CLIENT_VERSION_RC 1) +set(CLIENT_VERSION_RC 2) set(CLIENT_VERSION_IS_RELEASE "true") set(COPYRIGHT_YEAR "2025") From 8082f88d1a434b3ba1018c6592affe759d53df48 Mon Sep 17 00:00:00 2001 From: glozow Date: Sun, 16 Mar 2025 22:09:03 -0400 Subject: [PATCH 09/10] [doc] update man pages for 29.0rc2 --- doc/man/bitcoin-cli.1 | 6 +++--- doc/man/bitcoin-qt.1 | 6 +++--- doc/man/bitcoin-tx.1 | 6 +++--- doc/man/bitcoin-util.1 | 6 +++--- doc/man/bitcoin-wallet.1 | 6 +++--- doc/man/bitcoind.1 | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/doc/man/bitcoin-cli.1 b/doc/man/bitcoin-cli.1 index 2eb89ffa085..94d06025c3a 100644 --- a/doc/man/bitcoin-cli.1 +++ b/doc/man/bitcoin-cli.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. -.TH BITCOIN-CLI "1" "March 2025" "bitcoin-cli v29.0.0rc1" "User Commands" +.TH BITCOIN-CLI "1" "March 2025" "bitcoin-cli v29.0.0rc2" "User Commands" .SH NAME -bitcoin-cli \- manual page for bitcoin-cli v29.0.0rc1 +bitcoin-cli \- manual page for bitcoin-cli v29.0.0rc2 .SH SYNOPSIS .B bitcoin-cli [\fI\,options\/\fR] \fI\, \/\fR[\fI\,params\/\fR] @@ -15,7 +15,7 @@ bitcoin-cli \- manual page for bitcoin-cli v29.0.0rc1 .B bitcoin-cli [\fI\,options\/\fR] \fI\,help \/\fR .SH DESCRIPTION -Bitcoin Core RPC client version v29.0.0rc1 +Bitcoin Core RPC client version v29.0.0rc2 .PP The bitcoin\-cli utility provides a command line interface to interact with a Bitcoin Core RPC server. .PP diff --git a/doc/man/bitcoin-qt.1 b/doc/man/bitcoin-qt.1 index 20b7b96e3e3..58640975b8c 100644 --- a/doc/man/bitcoin-qt.1 +++ b/doc/man/bitcoin-qt.1 @@ -1,12 +1,12 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. -.TH BITCOIN-QT "1" "March 2025" "bitcoin-qt v29.0.0rc1" "User Commands" +.TH BITCOIN-QT "1" "March 2025" "bitcoin-qt v29.0.0rc2" "User Commands" .SH NAME -bitcoin-qt \- manual page for bitcoin-qt v29.0.0rc1 +bitcoin-qt \- manual page for bitcoin-qt v29.0.0rc2 .SH SYNOPSIS .B bitcoin-qt [\fI\,options\/\fR] [\fI\,URI\/\fR] .SH DESCRIPTION -Bitcoin Core version v29.0.0rc1 +Bitcoin Core version v29.0.0rc2 .PP The bitcoin\-qt application provides a graphical interface for interacting with Bitcoin Core. .PP diff --git a/doc/man/bitcoin-tx.1 b/doc/man/bitcoin-tx.1 index b493f916b0f..7d4f7de5a39 100644 --- a/doc/man/bitcoin-tx.1 +++ b/doc/man/bitcoin-tx.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. -.TH BITCOIN-TX "1" "March 2025" "bitcoin-tx v29.0.0rc1" "User Commands" +.TH BITCOIN-TX "1" "March 2025" "bitcoin-tx v29.0.0rc2" "User Commands" .SH NAME -bitcoin-tx \- manual page for bitcoin-tx v29.0.0rc1 +bitcoin-tx \- manual page for bitcoin-tx v29.0.0rc2 .SH SYNOPSIS .B bitcoin-tx [\fI\,options\/\fR] \fI\, \/\fR[\fI\,commands\/\fR] @@ -9,7 +9,7 @@ bitcoin-tx \- manual page for bitcoin-tx v29.0.0rc1 .B bitcoin-tx [\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] .SH DESCRIPTION -Bitcoin Core bitcoin\-tx utility version v29.0.0rc1 +Bitcoin Core bitcoin\-tx utility version v29.0.0rc2 .PP The bitcoin\-tx tool is used for creating and modifying bitcoin transactions. .PP diff --git a/doc/man/bitcoin-util.1 b/doc/man/bitcoin-util.1 index 74cf2329ed1..44ff8e860a6 100644 --- a/doc/man/bitcoin-util.1 +++ b/doc/man/bitcoin-util.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. -.TH BITCOIN-UTIL "1" "March 2025" "bitcoin-util v29.0.0rc1" "User Commands" +.TH BITCOIN-UTIL "1" "March 2025" "bitcoin-util v29.0.0rc2" "User Commands" .SH NAME -bitcoin-util \- manual page for bitcoin-util v29.0.0rc1 +bitcoin-util \- manual page for bitcoin-util v29.0.0rc2 .SH SYNOPSIS .B bitcoin-util [\fI\,options\/\fR] [\fI\,command\/\fR] @@ -9,7 +9,7 @@ bitcoin-util \- manual page for bitcoin-util v29.0.0rc1 .B bitcoin-util [\fI\,options\/\fR] \fI\,grind \/\fR .SH DESCRIPTION -Bitcoin Core bitcoin\-util utility version v29.0.0rc1 +Bitcoin Core bitcoin\-util utility version v29.0.0rc2 .PP The bitcoin\-util tool provides bitcoin related functionality that does not rely on the ability to access a running node. Available [commands] are listed below. .SH OPTIONS diff --git a/doc/man/bitcoin-wallet.1 b/doc/man/bitcoin-wallet.1 index dbf30100705..b41d5e965e0 100644 --- a/doc/man/bitcoin-wallet.1 +++ b/doc/man/bitcoin-wallet.1 @@ -1,12 +1,12 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. -.TH BITCOIN-WALLET "1" "March 2025" "bitcoin-wallet v29.0.0rc1" "User Commands" +.TH BITCOIN-WALLET "1" "March 2025" "bitcoin-wallet v29.0.0rc2" "User Commands" .SH NAME -bitcoin-wallet \- manual page for bitcoin-wallet v29.0.0rc1 +bitcoin-wallet \- manual page for bitcoin-wallet v29.0.0rc2 .SH SYNOPSIS .B bitcoin-wallet [\fI\,options\/\fR] \fI\,\/\fR .SH DESCRIPTION -Bitcoin Core bitcoin\-wallet utility version v29.0.0rc1 +Bitcoin Core bitcoin\-wallet utility version v29.0.0rc2 .PP bitcoin\-wallet is an offline tool for creating and interacting with Bitcoin Core wallet files. .PP diff --git a/doc/man/bitcoind.1 b/doc/man/bitcoind.1 index 865a59e87cb..b5993a052ad 100644 --- a/doc/man/bitcoind.1 +++ b/doc/man/bitcoind.1 @@ -1,12 +1,12 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. -.TH BITCOIND "1" "March 2025" "bitcoind v29.0.0rc1" "User Commands" +.TH BITCOIND "1" "March 2025" "bitcoind v29.0.0rc2" "User Commands" .SH NAME -bitcoind \- manual page for bitcoind v29.0.0rc1 +bitcoind \- manual page for bitcoind v29.0.0rc2 .SH SYNOPSIS .B bitcoind [\fI\,options\/\fR] .SH DESCRIPTION -Bitcoin Core daemon version v29.0.0rc1 +Bitcoin Core daemon version v29.0.0rc2 .PP The Bitcoin Core daemon (bitcoind) is a headless program that connects to the Bitcoin network to validate and relay transactions and blocks, as well as relaying addresses. .PP From 74df31cb0bdef9cce31ae62ed71a1e386cba0274 Mon Sep 17 00:00:00 2001 From: glozow Date: Thu, 13 Mar 2025 17:04:10 -0400 Subject: [PATCH 10/10] [doc] update example bitcoin.conf with missing options --- share/examples/bitcoin.conf | 79 +++++++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 3 deletions(-) diff --git a/share/examples/bitcoin.conf b/share/examples/bitcoin.conf index 5b0003b7233..d3999ecb4ac 100644 --- a/share/examples/bitcoin.conf +++ b/share/examples/bitcoin.conf @@ -12,6 +12,82 @@ ### Options +# Execute command when an alert is raised (%s in cmd is replaced by +# message) +#alertnotify= + +# For backwards compatibility, treat an unused bitcoin.conf file in the +# datadir as a warning, not an error. +#allowignoredconf=1 + +# If this block is in the chain assume that it and its ancestors are valid +# and potentially skip their script verification (0 to verify all, +# default: +# 00000000000000000001b658dd1120e82e66d2790811f89ede9742ada3ed6d77, +# testnet3: +# 00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57, +# testnet4: +# 0000000000003ed4f08dbdf6f7d6b271a6bcffce25675cb40aa9fa43179a89f3, +# signet: +# 000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a) +#assumevalid= + +# Maintain an index of compact filters by block (default: 0, values: +# basic). If is not supplied or if = 1, indexes for +# all known types are enabled. +#blockfilterindex= + +# Execute command when the best block changes (%s in cmd is replaced by +# block hash) +#blocknotify= + +# Extra transactions to keep in memory for compact block reconstructions +# (default: 100) +#blockreconstructionextratxn= + +# Specify directory to hold blocks subdirectory for *.dat files (default: +# ) +#blocksdir= + +# Whether to reject transactions from network peers. Disables automatic +# broadcast and rebroadcast of transactions, unless the source peer +# has the 'forcerelay' permission. RPC transactions are not +# affected. (default: 0) +#blocksonly=1 + +# Whether an XOR-key applies to blocksdir *.dat files. The created XOR-key +# will be zeros for an existing blocksdir or when `-blocksxor=0` is +# set, and random for a freshly initialized blocksdir. (default: 1) +#blocksxor=1 + +# Maintain coinstats index used by the gettxoutsetinfo RPC (default: 0) +#coinstatsindex=1 + +# Specify path to read-only configuration file. Relative paths will be +# prefixed by datadir location (only useable from command line, not +# configuration file) (default: bitcoin.conf) +#conf= + +# Run in the background as a daemon and accept commands (default: 0) +#daemon=1 + +# Wait for initialization to be finished before exiting. This implies +# -daemon (default: 0) +#daemonwait=1 + +# Specify data directory +#datadir= + +# Maximum database cache size MiB (minimum 4, default: 450). Make sure +# you have enough RAM. In addition, unused memory allocated to the +# mempool is shared with this cache (see -maxmempool). +#dbcache= + +# Specify location of debug log file (default: debug.log). Relative paths +# will be prefixed by a net-specific datadir location. Pass +# -nodebuglogfile to disable writing the log to a file. +#debuglogfile= + # Specify additional configuration file, relative to the -datadir path # (only useable from configuration file, not command line) #includeconf= @@ -428,9 +504,6 @@ # takes priority over "-debug" #debugexclude= -# Print help message with debugging options and exit -#help-debug=1 - # Include IP addresses in debug output (default: 0) #logips=1