Skip to content

Commit 30bc73a

Browse files
Squashed 'libbitcoinkernel-sys/bitcoin/' changes from ce8003578e72..abffb6d65875
abffb6d65875 kernel: Fix bitcoin-chainstate for windows c9d7b71b7b96 kernel: Add Purpose section to header documentation 88c53c323a4d kernel: Allowing reducing exports deee70395cef kernel: Add pure kernel bitcoin-chainstate 1a89d2f76bd6 kernel: Add functions to get the block hash from a block dff6e326c929 kernel: Add block index utility functions to C header f2a1c5e198fc kernel: Add function to read block undo data from disk to C header 5e0e1cc30026 kernel: Add functions to read block from disk to C header 6a3406caace5 kernel: Add function for copying block data to C header 3ac6249b5b91 kernel: Add functions for the block validation state to C header 366276d61913 kernel: Add validation interface to C header bc4093175962 kernel: Add interrupt function to C header 70c5d903cb29 kernel: Add import blocks function to C header 2be42e3c1ae1 kernel: Add chainstate load options for in-memory dbs in C header 6be186958803 kernel: Add options for reindexing in C header 33445ec97008 kernel: Add block validation to C header e63ec151b9da kernel: Add chainstate loading when instantiating a ChainstateManager 171fbb8d118c kernel: Add chainstate manager option for setting worker threads a00df723ac2f kernel: Add chainstate manager object to C header 40a1f1d46338 kernel: Add notifications context option to C header 506f82bcfb27 kernel: Add chain params context option to C header c4074d7894fd kernel: Add kernel library context object 54518fdc6f7f kernel: Add logging to kernel library C header ff4a0ef4132a kernel: Introduce initial kernel C header API daca51bf80e7 Merge bitcoin/bitcoin#32750: refactor: CFeeRate encapsulates FeeFrac internally f679bad6052a Merge bitcoin/bitcoin#33105: validation: detect witness stripping without re-running Script checks 63d604af05f8 Merge bitcoin/bitcoin#33152: Release: Prepare "Open Transifex translations for v30.0" step 27aefac42505 validation: detect witness stripping without re-running Script checks 2907b58834ab policy: introduce a helper to detect whether a transaction spends Segwit outputs 26e9db2df076 Merge bitcoin/bitcoin#31886: cli: return local services in -netinfo 2bb06bcaf284 Merge bitcoin/bitcoin#31679: cmake: Install internal binaries to <prefix>/libexec/ 6a2bb0fd8359 Merge bitcoin/bitcoin#33151: subtree: update crc32c subtree 656e16aa5e65 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file a0eaa4492548 Fix typos b43b8be782b8 Merge bitcoin/bitcoin#33125: ci: Use mlc `v1` and fix typos 8d4aaaec49c0 Update Transifex slug for 30.x 8ef8dd6871dd Update crc32c subtree to latest upstream master 9a5d29711afc Squashed 'src/crc32c/' changes from b60d2b7334..efb8ea04e4 f28a94b40eea ci: update shellcheck to v0.11.0 e46af3044160 ci: update mlc to v1 7d60c0eb69bf fix typo 49f2f3c89fac doc: fix typos d818340e7e27 test: Rename shuffled_indeces to shuffled_indices 96f8673b879e doc: fix typos d767503b6a26 Merge bitcoin/bitcoin#33039: refactor,test: follow-ups to multi-byte block obfuscation 721a051320f2 test: add coverage for -netinfo header and local services f7d2db28e902 netinfo: return shortened services, if peers list requested 4489ab526add netinfo: return local services in the default report eb073209db9e qa: test witness stripping in p2p_segwit 86e3a0a8cbd3 refactor: standardize obfuscation memory alignment 13f00345c061 refactor: write `Obfuscation` object when new key is generated in dbwrapper e5b1b7c5577e refactor: rename `OBFUSCATION_KEY_KEY` 298bf9510578 refactor: simplify `Obfuscation::HexKey` 2dea04542541 test: make `obfuscation_serialize` more thorough a17d8202c36a test: merge xor_roundtrip_random_chunks and xor_bytes_reference d3b8a54a8120 Refactor CFeeRate to use FeeFrac internally f49840dd902c doc: Fix typo in files.md f5cf0b1ccc8f bitcoin wrapper: improve help output c810b168b89d doc: Add description of installed files to files.md 94ffd01a0294 doc: Add release notes describing libexec/ binaries cd97905ebc56 cmake: Move internal binaries from bin/ to libexec/ REVERT: ce8003578e72 kernel: Fix bitcoin-chainstate for windows REVERT: 9ebe4a83a937 kernel: Add Purpose section to header documentation REVERT: 10d2432218eb kernel: Allowing reducing exports REVERT: e04b1e1f5284 kernel: Add pure kernel bitcoin-chainstate REVERT: e0f98a533cd6 kernel: Add functions to get the block hash from a block REVERT: af1c5e349550 kernel: Add block index utility functions to C header REVERT: fd60e50badc5 kernel: Add function to read block undo data from disk to C header REVERT: f507d230bba3 kernel: Add functions to read block from disk to C header REVERT: 1480dd9f41fc kernel: Add function for copying block data to C header REVERT: 26f484b94e66 kernel: Add functions for the block validation state to C header REVERT: 8c286be14aff kernel: Add validation interface to C header REVERT: 6d733019bba6 kernel: Add interrupt function to C header REVERT: c917663b0b51 kernel: Add import blocks function to C header REVERT: 9c2496406f7e kernel: Add chainstate load options for in-memory dbs in C header REVERT: 393329899d90 kernel: Add options for reindexing in C header REVERT: 107156b9362e kernel: Add block validation to C header REVERT: b83c0d3ba499 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: c3279239c75f kernel: Add chainstate manager option for setting worker threads REVERT: f7a2c3c600e5 kernel: Add chainstate manager object to C header REVERT: 5e8b57622c33 kernel: Add notifications context option to C header REVERT: 56298e76271a kernel: Add chain params context option to C header REVERT: 9bade37d97d7 kernel: Add kernel library context object REVERT: 9859726fbd6b kernel: Add logging to kernel library C header REVERT: 6dd7a4fcab08 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: abffb6d6587502371a59d37c043d3d644846c267
1 parent b98d982 commit 30bc73a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+4035
-3634
lines changed

.tx/config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[main]
22
host = https://www.transifex.com
33

4-
[o:bitcoin:p:bitcoin:r:qt-translation-029x]
4+
[o:bitcoin:p:bitcoin:r:qt-translation-030x]
55
file_filter = src/qt/locale/bitcoin_<lang>.xlf
66
source_file = src/qt/locale/bitcoin_en.xlf
77
source_lang = en

ci/lint/01_install.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ ${CI_RETRY_EXE} pip3 install \
4646
ruff==0.5.5 \
4747
vulture==2.6
4848

49-
SHELLCHECK_VERSION=v0.8.0
49+
SHELLCHECK_VERSION=v0.11.0
5050
curl -sL "https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION}/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | \
5151
tar --xz -xf - --directory /tmp/
5252
mv "/tmp/shellcheck-${SHELLCHECK_VERSION}/shellcheck" /usr/bin/
5353

54-
MLC_VERSION=v0.19.0
54+
MLC_VERSION=v1
5555
MLC_BIN=mlc-x86_64-linux
5656
curl -sL "https://github.com/becheran/mlc/releases/download/${MLC_VERSION}/${MLC_BIN}" -o "/usr/bin/mlc"
5757
chmod +x /usr/bin/mlc

ci/test/03_test_script.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ if [ "$RUN_UNIT_TESTS" = "true" ]; then
163163
fi
164164

165165
if [ "$RUN_UNIT_TESTS_SEQUENTIAL" = "true" ]; then
166-
DIR_UNIT_TEST_DATA="${DIR_UNIT_TEST_DATA}" LD_LIBRARY_PATH="${DEPENDS_DIR}/${HOST}/lib" "${BASE_OUTDIR}"/bin/test_bitcoin --catch_system_errors=no -l test_suite
166+
DIR_UNIT_TEST_DATA="${DIR_UNIT_TEST_DATA}" LD_LIBRARY_PATH="${DEPENDS_DIR}/${HOST}/lib" "${BASE_BUILD_DIR}"/bin/test_bitcoin --catch_system_errors=no -l test_suite
167167
fi
168168

169169
if [ "$RUN_FUNCTIONAL_TESTS" = "true" ]; then

cmake/module/InstallBinaryComponent.cmake

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,19 @@ include(GNUInstallDirs)
77

88
function(install_binary_component component)
99
cmake_parse_arguments(PARSE_ARGV 1
10-
IC # prefix
11-
"HAS_MANPAGE" # options
12-
"" # one_value_keywords
13-
"" # multi_value_keywords
10+
IC # prefix
11+
"HAS_MANPAGE;INTERNAL" # options
12+
"" # one_value_keywords
13+
"" # multi_value_keywords
1414
)
1515
set(target_name ${component})
16+
if(IC_INTERNAL)
17+
set(runtime_dest ${CMAKE_INSTALL_LIBEXECDIR})
18+
else()
19+
set(runtime_dest ${CMAKE_INSTALL_BINDIR})
20+
endif()
1621
install(TARGETS ${target_name}
17-
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
22+
RUNTIME DESTINATION ${runtime_dest}
1823
COMPONENT ${component}
1924
)
2025
if(INSTALL_MAN AND IC_HAS_MANPAGE)

contrib/guix/libexec/codesign.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ mkdir -p "$DISTSRC"
110110

111111
# Apply detached codesignatures (in-place)
112112
signapple apply dist/Bitcoin-Qt.app codesignatures/osx/"${HOST}"/dist/Bitcoin-Qt.app
113-
find "${DISTNAME}" -wholename "*/bin/*" -type f | while read -r bin
113+
find "${DISTNAME}" \( -wholename "*/bin/*" -o -wholename "*/libexec/*" \) -type f | while read -r bin
114114
do
115115
signapple apply "${bin}" "codesignatures/osx/${HOST}/${bin}.${ARCH}sign"
116116
done

contrib/macdeploy/detached-sig-create.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ ${SIGNAPPLE} apply "${UNSIGNED_BUNDLE}" "${OUTROOT}/${BUNDLE_ROOT}/${BUNDLE_NAME
4444
${SIGNAPPLE} notarize --detach "${OUTROOT}/${BUNDLE_ROOT}" --passphrase "${api_key_pass}" "$2" "$3" "${UNSIGNED_BUNDLE}"
4545

4646
# Sign each binary
47-
find . -maxdepth 3 -wholename "*/bin/*" -type f -exec realpath --relative-to=. {} \; | while read -r bin
47+
find . -maxdepth 3 \( -wholename "*/bin/*" -o -wholename "*/libexec/*" \) -type f -exec realpath --relative-to=. {} \; | while read -r bin
4848
do
4949
bin_dir=$(dirname "${bin}")
5050
bin_name=$(basename "${bin}")

doc/files.md

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
- [Berkeley DB database based wallets](#berkeley-db-database-based-wallets)
1818

19-
- [Notes](#notes)
19+
- [Installed Files](#installed-files)
2020

2121
## Data directory location
2222

@@ -83,7 +83,7 @@ Wallets are SQLite databases.
8383

8484
3. A wallet database path can be specified with the `-wallet` option.
8585

86-
4. `wallet.dat` files must not be shared across different node instances, as that can result in key-reuse and double-spends due the lack of synchronization between instances.
86+
4. `wallet.dat` files must not be shared across different node instances, as that can result in key-reuse and double-spends due to the lack of synchronization between instances.
8787

8888
5. Any copy or backup of the wallet should be done through a `backupwallet` call in order to update and lock the wallet, preventing any file corruption caused by updates during the copy.
8989

@@ -123,8 +123,40 @@ Subdirectory | File(s) | Description
123123
`./` | `wallet.dat` | Personal wallet (a BDB database) with keys and transactions
124124
`./` | `.walletlock` | BDB wallet lock file
125125

126-
## Notes
126+
### Notes
127127

128128
<a name="note1">1</a>. The `/` (slash, U+002F) is used as the platform-independent path component separator in this document.
129129

130130
<a name="note2">2</a>. `NNNNN` matches `[0-9]{5}` regex.
131+
132+
## Installed Files
133+
134+
This table describes the files installed by Bitcoin Core across different platforms.
135+
136+
| **Path** | **Description** |
137+
|------------------------------------------------------------|-----------------------------------------------------------------------------|
138+
| [README.md](README.md) or [readme.txt](README_windows.txt) | Project information and instructions |
139+
| bitcoin.conf | [Generated](../contrib/devtools/gen-bitcoin-conf.sh) configuration file |
140+
| bin/bitcoin | Command-line tool for interacting with Bitcoin. Calls other binaries below. |
141+
| bin/bitcoin-cli | Tool for making node and wallet RPC calls. |
142+
| bin/bitcoin-qt | Bitcoin node and wallet GUI |
143+
| bin/bitcoin-tx | Tool for creating and modifying transactions |
144+
| bin/bitcoin-util | Miscellaneous utilities |
145+
| bin/bitcoin-wallet | Bitcoin wallet tool |
146+
| bin/bitcoind | Bitcoin node and wallet daemon |
147+
| *lib/libbitcoinkernel.so* | Shared library containing core consensus and validation code |
148+
| *lib/pkgconfig/libbitcoinkernel.pc* | Pkg-config metadata for linking to `libbitcoinkernel` |
149+
| *libexec/bench_bitcoin* | Benchmarking tool for measuring node performance |
150+
| *libexec/bitcoin-chainstate* | Tool to validate and connect blocks |
151+
| *libexec/bitcoin-gui* | IPC-enabled alternative to `bitcoin-qt` |
152+
| *libexec/bitcoin-node* | IPC-enabled alternative to `bitcoind` |
153+
| libexec/test_bitcoin | Unit test binary |
154+
| *libexec/test_bitcoin-qt* | GUI-specific unit tests |
155+
| share/man/man1/ | Man pages for command-line tools like `bitcoin-cli`, `bitcoind`, and others |
156+
| share/rpcauth/ | Documentation and scripts for RPC authentication setup |
157+
158+
### Notes
159+
160+
- *Italicized* files are only installed in source builds if relevant CMake options are enabled. They are not included in binary releases.
161+
- README and bitcoin.conf files are included in binary releases but not installed in source builds.
162+
- On Windows, binaries have a `.exe` suffix (e.g., `bitcoin-cli.exe`).

doc/policy/packages.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ rejected from the mempool when transaction volume is high and the mempool minimu
115115

116116
Note: Package feerate cannot be used to meet the minimum relay feerate (`-minrelaytxfee`)
117117
requirement. For example, if the mempool minimum feerate is 5sat/vB and the minimum relay feerate is
118-
set to 5satvB, a 1sat/vB parent transaction with a high-feerate child will not be accepted, even if
118+
set to 5sat/vB, a 1sat/vB parent transaction with a high-feerate child will not be accepted, even if
119119
submitted as a package.
120120

121121
*Rationale*: Avoid situations in which the mempool contains non-bumped transactions below min relay

doc/release-notes-31375-31679.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
New command line interface
2+
--------------------------
3+
4+
A new `bitcoin` command line tool has been added to make features more
5+
discoverable and convenient to use. The `bitcoin` tool just calls other
6+
executables and does not implement any functionality on its own. Specifically
7+
`bitcoin node` is a synonym for `bitcoind`, `bitcoin gui` is a synonym for
8+
`bitcoin-qt`, and `bitcoin rpc` is a synonym for `bitcoin-cli -named`. Other
9+
commands and options can be listed with `bitcoin help`. The new tool does not
10+
replace other tools, so existing commands should continue working and there are
11+
no plans to deprecate them.
12+
13+
Install changes
14+
---------------
15+
16+
The `test_bitcoin` executable is now located in `libexec/` rather than `bin/`.
17+
It can still be executed directly, or accessed through the new `bitcoin` command
18+
line tool as `bitcoin test`.
19+
20+
Other executables which are only part of source releases and not built by
21+
default: `test_bitcoin-qt`, `bench_bitcoin`, `bitcoin-chainstate`,
22+
`bitcoin-node`, and `bitcoin-gui` are also now installed in `libexec/`
23+
instead of `bin/` and can be accessed through the `bitcoin` command line tool.
24+
See `bitcoin help` output for details.

doc/release-notes-31375.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)