Skip to content

Commit ccb9779

Browse files
committed
Squashed 'depend/bitcoin/' changes from 3a34e00691..bce88ae28a
bce88ae28a kernel: Fix bitcoin-chainstate for windows 3a7e9f0eaf kernel: Add Purpose section to header documentation 5bae79ace5 kernel: Allowing reducing exports d0308a2489 kernel: Add pure kernel bitcoin-chainstate 05a569070c kernel: Add functions to get the block hash from a block 8566ec6e83 kernel: Add block index utility functions to C header b4d0e80f84 kernel: Add function to read block undo data from disk to C header 488999ac77 kernel: Add functions to read block from disk to C header 3dc76bb7f7 kernel: Add function for copying block data to C header 6151b45a42 kernel: Add functions for the block validation state to C header 5d00432f27 kernel: Add validation interface to C header facf209aee kernel: Add interrupt function to C header 129f553e4e kernel: Add import blocks function to C header f7ed7b944d kernel: Add chainstate load options for in-memory dbs in C header 67d9f53a98 kernel: Add options for reindexing in C header ebc826319f kernel: Add block validation to C header 511a1c8a78 kernel: Add chainstate loading when instantiating a ChainstateManager aad295899e kernel: Add chainstate manager option for setting worker threads c701cb2405 kernel: Add chainstate manager object to C header 1df8b87602 kernel: Add notifications context option to C header 571c1a2acb kernel: Add chain params context option to C header a2cab9f1cd kernel: Add kernel library context object 944ef6b630 kernel: Add logging to kernel library C header d0cb841fba kernel: Introduce initial kernel C header API 04c115dfde Merge bitcoin/bitcoin#33078: kernel: improve BlockChecked ownership semantics bc797d2271 Merge bitcoin/bitcoin#33154: test: use local `CBlockIndex` in block read hash mismatch check d3c58a5be9 Merge bitcoin/bitcoin#33193: Release: Prepare "Translation string freeze" step 9cf7b3d90c Merge bitcoin/bitcoin#33211: test: modify logging_filesize_rate_limit params f5f853d952 Merge bitcoin/bitcoin#32878: index: fix wrong assert of current_tip == m_best_block_index 5dda364c4b test: modify logging_filesize_rate_limit params 0df2c3c42e qt: Update `src/qt/locale/bitcoin_en.xlf` translation source file 22e689587a Merge bitcoin/bitcoin#33209: cmake: Drop python dependency for translate be356fc49b Merge bitcoin/bitcoin#32896: wallet, rpc: add v3 transaction creation and wallet support 3c4a109aa8 cmake: Drop python dependency for translate f58de8749e Merge bitcoin/bitcoin#32345: ipc: Handle unclean shutdowns better d31dc8f818 Merge bitcoin/bitcoin#33200: cmake: Introduce translate.cmake script for translate target 05255d5d1e cmake: Drop dependency on sed for translate target d5054beca5 cmake: Introduce translate.cmake script for translate target 57e8f34fe2 Merge bitcoin/bitcoin#32977: wallet: Remove wallet version and several legacy related functions 97593c1fd3 Merge bitcoin/bitcoin#32975: assumevalid: log every script validation state change 5c8bf7b39e doc: add release notes for version 3 transactions 4ef8065a5e test: add truc wallet tests 5d932e14db test: extract `bulk_vout` from `bulk_tx` so it can be used by wallet tests 2cb473d9f2 rpc: Support version 3 transaction creation 4c20343b4d rpc: Add transaction min standard version parameter c5a2d08011 wallet: don't return utxos from multiple truc txs in AvailableCoins da8748ad62 wallet: limit v3 tx weight in coin selection 85c5410615 wallet: mark unconfirmed v3 siblings as mempool conflicts 0804fc3cb1 wallet: throw error at conflicting tx versions in pre-selected inputs cc155226fe wallet: set m_version in coin control to default value 2e9617664e wallet: don't include unconfirmed v3 txs with children in available coins ec2676becd wallet: unconfirmed ancestors and descendants are always truc 7b4a1350df Merge bitcoin/bitcoin#33183: validation: rename block script verification error from "mandatory" to "block" c99f5c5e1b Merge bitcoin/bitcoin#33106: policy: lower the default blockmintxfee, incrementalrelayfee, minrelaytxfee 578b512bdd Merge bitcoin/bitcoin#33011: log: rate limiting followups 8405fdb06e Merge bitcoin/bitcoin#33169: interfaces, chain, refactor: Remove unused getTipLocator and incaccurate getActiveChainLocator c0d91fc69c Add release note for #33050 and #33183 error string changes e17b5da0d6 Merge bitcoin/bitcoin#33179: doc: update wallet build instruction 9b1a7c3e8d Merge bitcoin/bitcoin#33116: refactor: Convert uint256 to Txid b3f781a0ef contrib: adapt max reject string size in tracing demo 9a04635432 scripted-diff: validation: rename mandatory errors into block errors dbf8b0980b Merge bitcoin/bitcoin#33171: ci: Update `actions/checkout` version d6887f0cec Merge bitcoin/bitcoin#33178: guix: increase maximum allowed (runtime) GCC to 7 2b00030af8 interfaces, chain, refactor: Remove inaccurate getActiveChainLocator 110a0f405c interfaces, chain, refactor: Remove unused getTipLocator dadf15f88c Merge bitcoin/bitcoin#33050: net, validation: don't punish peers for consensus-invalid txs cb173b8e93 test: use local `CBlockIndex` in block read hash mismatch test to avoid data race 73972d5617 Merge bitcoin/bitcoin#31296: wallet: Translate [default wallet] string in progress messages 67e186deb0 doc: update wallet build instruction 5c74a0b397 config: add DEBUG_ONLY -logratelimit 9f3b017bcc test: logging_filesize_rate_limit improvements 350193e5e2 test: don't leak log category mask across tests 05d7c22479 test: add ReadDebugLogLines helper function 3d630c2544 log: make m_limiter a shared_ptr ec484bd5ce Merge bitcoin/bitcoin#31453: util: detect and warn when using exFAT on MacOS 776a163374 guix: increase maximum allowed (runtime) GCC to 7 ba84a25dee [doc] update mempool-replacements.md for incremental relay feerate change 273e600e65 Merge bitcoin/bitcoin#33021: test/refactor: revive test verifying that `GetCoinsCacheSizeState` switches from OK→LARGE→CRITICAL 18720bc5d5 [doc] release note for min feerate changes 6da5de58ca [policy] lower default minrelaytxfee and incrementalrelayfee to 100sat/kvB 2e515d2897 [prep/test] make wallet_fundrawtransaction's minrelaytxfee assumption explicit 457cfb61b5 [prep/util] help MockMempoolMinFee handle more precise feerates 3eab8b7240 [prep/test] replace magic number 1000 with respective feerate vars 5f2df0ef78 [miner] lower default -blockmintxfee to 1sat/kvB d6213d6aa1 [doc] assert that default min relay feerate and incremental are the same 1fbee5d7b6 [test] explicitly check default -minrelaytxfee and -incrementalrelayfee 72dc18467d [test] RBF rule 4 for various incrementalrelayfee settings 85f498893f [test] check bypass of minrelay for various minrelaytxfee settings e5f896bb1f [test] check miner doesn't select 0fee transactions de0675f9de refactor: Move `transaction_identifier.h` to primitives 6f068f65de Remove implicit uint256 conversion and comparison 9c24cda72e refactor: Convert remaining instances from uint256 to Txid d2ecd6815d policy, refactor: Convert uint256 to Txid f6c0d1d231 mempool, refactor: Convert uint256 to Txid aeb0f78330 refactor: Convert `mini_miner` from uint256 to Txid 326f244724 refactor: Convert RPCs and `merkleblock` from uint256 to Txid 41642d43b3 Merge bitcoin/bitcoin#33162: test: fix scripts in `blockfilter_basic_test` f83c01d882 ci: Update `actions/checkout` version a27430e259 Merge bitcoin/bitcoin#32473: Introduce per-txin sighash midstate cache for legacy/p2sh/segwitv0 scripts 34b366fa2c Merge bitcoin/bitcoin#33155: contrib: drop `bitcoin-util` exception from FORTIFY check ca64b71ed5 test: fix scripts in `blockfilter_basic_test` fab2980bdc assumevalid: log every script validation state change e8f9c37a3b log: clean up LogPrintStr_ and Reset, prefix all logs with "[*]" when there are suppressions 3c7cae49b6 log: change LogLimitStats to struct LogRateLimiter::Stats 876dbdfb47 tests: drop expect_disconnect behaviour for tx relay b29ae9efdf validation: only check input scripts once 266dd0e10d net_processing: drop MaybePunishNodeForTx db3228042b util: detect and warn when using exFAT on macOS 4bff4ce561 contrib: drop bitcoin-util exception from FORTIFY check 83950275ed qa: unit test sighash caching b221aa80a0 qa: simple differential fuzzing for sighash with/without caching 92af9f74d7 script: (optimization) introduce sighash midstate caching 8f3ddb0bcc script: (refactor) prepare for introducing sighash midstate cache 9014d4016a tests: add sighash caching tests to feature_taproot 49b3d3a92a Clean up `FindTxForGetData` 2581258ec2 ipc: Handle bitcoin-wallet disconnections 2160995916 ipc: Add Ctrl-C handler for spawned subprocesses 0c28068ceb doc: Improve IPC interface comments 7f65aac78b ipc: Avoid waiting for clients to disconnect when shutting down 6eb09fd614 test: Add unit test coverage for Init and Shutdown code 9a9fb19536 ipc: Use EventLoopRef instead of addClient/removeClient 5c45bc989b Merge commit 'e886c65b6b37aaaf5d22ca68bc14e55d8ec78212' into pr/ipc-stop-base e886c65b6b Squashed 'src/ipc/libmultiprocess/' changes from 27c7e8e5a581..b4120d34bad2 3aef38f44b test: exercise index reorg assertion failure acf50233cd index: fix wrong assert of current_tip == m_best_block_index 1d9f1cb4bd kernel: improve BlockChecked ownership semantics 554befd873 test: revive `getcoinscachesizestate` 64ed0fa6b7 refactor: modernize `LargeCoinsCacheThreshold` 1b40dc02a6 refactor: extract `LargeCoinsCacheThreshold` from `GetCoinsCacheSizeState` 8319a13468 log: clarify RATELIMIT_MAX_BYTES comment, use RATELIMIT_WINDOW 5f70bc80df log: remove const qualifier from arguments in LogPrintFormatInternal b8e92fb3d4 log: avoid double hashing in SourceLocationHasher 616bc22f13 test: remove noexcept(false) comment in ~DebugLogHelper 9ba1fff29e kernel: refactor: ConnectTip to pass block pointer by value 60d1042b9a wallet: Remove unused `WalletFeature` enums 66de58208a wallet: Remove `CWallet::nWalletVersion` and related functions 7cda3d0f5b wallet: Remove `IsFeatureSupported()` and `CanSupportFeature()` ba01585229 wallet: `MigrateToDescriptor` no longer calls `CanSupportFeature` 63acee2797 wallet: Remove `GetClosestWalletFeature()` e27da3150b wallet: Remove `GetVersion()` db225cea56 wallet, refactor: Replace GetDisplayName() with LogName() 01737883b3 wallet: Translate [default wallet] string in progress messages REVERT: 3a34e00691 kernel: Fix bitcoin-chainstate for windows REVERT: 48fe575c9a kernel: Add Purpose section to header documentation REVERT: 86936f692f kernel: Allowing reducing exports REVERT: 71d2aec139 kernel: Add pure kernel bitcoin-chainstate REVERT: 80732c8e17 kernel: Add functions to get the block hash from a block REVERT: 0108303537 kernel: Add block index utility functions to C header REVERT: 2c25046de7 kernel: Add function to read block undo data from disk to C header REVERT: d9ae027eca kernel: Add functions to read block from disk to C header REVERT: 385f05d255 kernel: Add function for copying block data to C header REVERT: b67e0c3919 kernel: Add functions for the block validation state to C header REVERT: 11ef04d346 kernel: Add validation interface to C header REVERT: 3c00149d59 kernel: Add interrupt function to C header REVERT: 1f2b9a09aa kernel: Add import blocks function to C header REVERT: 8b6c7ce34f kernel: Add chainstate load options for in-memory dbs in C header REVERT: 32f38c6ab1 kernel: Add options for reindexing in C header REVERT: 5b9ae67fd2 kernel: Add block validation to C header REVERT: 3ace73bb70 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 924f869c88 kernel: Add chainstate manager option for setting worker threads REVERT: e74303a77b kernel: Add chainstate manager object to C header REVERT: 41d7f8ebe8 kernel: Add notifications context option to C header REVERT: 33ae8ebde0 kernel: Add chain params context option to C header REVERT: 304f43b2b0 kernel: Add kernel library context object REVERT: 386b770b39 kernel: Add logging to kernel library C header REVERT: b41eaedf91 kernel: Introduce initial kernel C header API git-subtree-dir: depend/bitcoin git-subtree-split: bce88ae28ab2cd12f32aead1fbf47153c50c3b05
1 parent 5fb5615 commit ccb9779

File tree

256 files changed

+4344
-2815
lines changed

Some content is hidden

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

256 files changed

+4344
-2815
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
steps:
3939
- name: Determine fetch depth
4040
run: echo "FETCH_DEPTH=$((${{ github.event.pull_request.commits }} + 2))" >> "$GITHUB_ENV"
41-
- uses: actions/checkout@v4
41+
- uses: actions/checkout@v5
4242
with:
4343
ref: ${{ github.event.pull_request.head.sha }}
4444
fetch-depth: ${{ env.FETCH_DEPTH }}
@@ -116,7 +116,7 @@ jobs:
116116

117117
steps:
118118
- name: Checkout
119-
uses: actions/checkout@v4
119+
uses: actions/checkout@v5
120120

121121
- name: Clang version
122122
run: |
@@ -183,7 +183,7 @@ jobs:
183183

184184
steps:
185185
- name: Checkout
186-
uses: actions/checkout@v4
186+
uses: actions/checkout@v5
187187

188188
- name: Configure Developer Command Prompt for Microsoft Visual C++
189189
# Using microsoft/setup-msbuild is not enough.
@@ -294,7 +294,7 @@ jobs:
294294

295295
steps:
296296
- name: Checkout
297-
uses: actions/checkout@v4
297+
uses: actions/checkout@v5
298298

299299
- name: Set CI directories
300300
run: |
@@ -348,7 +348,7 @@ jobs:
348348

349349
steps:
350350
- name: Checkout
351-
uses: actions/checkout@v4
351+
uses: actions/checkout@v5
352352

353353
- name: Download built executables
354354
uses: actions/download-artifact@v4
@@ -417,7 +417,7 @@ jobs:
417417
DANGER_CI_ON_HOST_FOLDERS: 1
418418
steps:
419419
- name: Checkout
420-
uses: actions/checkout@v4
420+
uses: actions/checkout@v5
421421

422422
- name: Set CI directories
423423
run: |

contrib/guix/security-check.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,6 @@ def check_ELF_CONTROL_FLOW(binary) -> bool:
123123

124124
def check_ELF_FORTIFY(binary) -> bool:
125125

126-
# bitcoin-util does not currently contain any fortified functions
127-
if 'Bitcoin Core bitcoin-util utility version ' in binary.strings:
128-
return True
129126
# bitcoin wrapper does not currently contain any fortified functions
130127
if '--monolithic' in binary.strings:
131128
return True

contrib/guix/symbol-check.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
# See https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html for more info.
3333

3434
MAX_VERSIONS = {
35-
'GCC': (4,3,0),
35+
'GCC': (7,0,0),
3636
'GLIBC': {
3737
lief.ELF.ARCH.X86_64: (2,31),
3838
lief.ELF.ARCH.ARM: (2,31),

contrib/tracing/mempool_monitor.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
PROGRAM = """
1818
# include <uapi/linux/ptrace.h>
1919
20-
// The longest rejection reason is 118 chars and is generated in case of SCRIPT_ERR_EVAL_FALSE by
21-
// strprintf("mandatory-script-verify-flag-failed (%s)", ScriptErrorString(check.GetScriptError()))
22-
#define MAX_REJECT_REASON_LENGTH 118
20+
// The longest rejection reason is 114 chars and is generated in case of SCRIPT_ERR_EVAL_FALSE by
21+
// strprintf("block-script-verify-flag-failed (%s)", ScriptErrorString(check.GetScriptError()))
22+
#define MAX_REJECT_REASON_LENGTH 114
2323
// The longest string returned by RemovalReasonToString() is 'sizelimit'
2424
#define MAX_REMOVAL_REASON_LENGTH 9
2525
#define HASH_LENGTH 32

doc/build-freebsd.md

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ Run the following as root to install the base dependencies for building.
1313
pkg install boost-libs cmake git libevent pkgconf
1414
```
1515

16+
SQLite is required for the wallet:
17+
18+
```bash
19+
pkg install sqlite3
20+
```
21+
22+
To build Bitcoin Core without the wallet, use `-DENABLE_WALLET=OFF`.
23+
1624
See [dependencies.md](dependencies.md) for a complete overview.
1725

1826
### 2. Clone Bitcoin Repo
@@ -23,17 +31,6 @@ git clone https://github.com/bitcoin/bitcoin.git
2331

2432
### 3. Install Optional Dependencies
2533

26-
#### Wallet Dependencies
27-
It is not necessary to build wallet functionality to run either `bitcoind` or `bitcoin-qt`.
28-
29-
###### Descriptor Wallet Support
30-
31-
`sqlite3` is required to support [descriptor wallets](descriptors.md).
32-
Skip if you don't intend to use descriptor wallets.
33-
```bash
34-
pkg install sqlite3
35-
```
36-
3734
#### GUI Dependencies
3835
###### Qt6
3936

@@ -79,7 +76,7 @@ pkg install python3 databases/py-sqlite3 net/py-pyzmq
7976

8077
There are many ways to configure Bitcoin Core, here are a few common examples:
8178

82-
##### Descriptor Wallet and GUI:
79+
##### Wallet and GUI:
8380
This enables the GUI, assuming `sqlite` and `qt` are installed.
8481
```bash
8582
cmake -B build -DBUILD_GUI=ON

doc/build-netbsd.md

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@ cmake -B build
3131
...
3232
```
3333

34+
SQLite is required for the wallet:
35+
36+
```bash
37+
pkgin sqlite3
38+
```
39+
40+
To build Bitcoin Core without the wallet, use `-DENABLE_WALLET=OFF`.
41+
3442
See [dependencies.md](dependencies.md) for a complete overview.
3543

3644
### 2. Clone Bitcoin Repo
@@ -43,18 +51,6 @@ git clone https://github.com/bitcoin/bitcoin.git
4351

4452
### 3. Install Optional Dependencies
4553

46-
#### Wallet Dependencies
47-
48-
It is not necessary to build wallet functionality to run bitcoind or the GUI.
49-
50-
###### Descriptor Wallet Support
51-
52-
`sqlite3` is required to enable support for [descriptor wallets](https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md).
53-
54-
```bash
55-
pkgin install sqlite3
56-
```
57-
5854
#### GUI Dependencies
5955
###### Qt6
6056

doc/build-openbsd.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ Run the following as root to install the base dependencies for building.
1313
pkg_add git cmake boost libevent
1414
```
1515

16+
SQLite is required for the wallet:
17+
18+
```bash
19+
pkg_add sqlite3
20+
```
21+
22+
To build Bitcoin Core without the wallet, use `-DENABLE_WALLET=OFF`.
23+
1624
See [dependencies.md](dependencies.md) for a complete overview.
1725

1826
### 2. Clone Bitcoin Repo
@@ -23,16 +31,6 @@ git clone https://github.com/bitcoin/bitcoin.git
2331

2432
### 3. Install Optional Dependencies
2533

26-
#### Wallet Dependencies
27-
28-
It is not necessary to build wallet functionality to run either `bitcoind` or `bitcoin-qt`.
29-
SQLite is required to build the wallet.
30-
31-
32-
``` bash
33-
pkg_add sqlite3
34-
```
35-
3634
#### GUI Dependencies
3735
###### Qt6
3836

@@ -77,8 +75,8 @@ pkg_add python py3-zmq # Select the newest version of the python package if nec
7775

7876
There are many ways to configure Bitcoin Core, here are a few common examples:
7977

80-
##### Descriptor Wallet and GUI:
81-
This enables descriptor wallet support and the GUI, assuming SQLite and Qt 6 are installed.
78+
##### Wallet and GUI:
79+
This enables wallet support and the GUI, assuming SQLite and Qt 6 are installed.
8280

8381
```bash
8482
cmake -B build -DBUILD_GUI=ON

doc/build-osx.md

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ To install, run the following from your terminal:
5151
brew install cmake boost pkgconf libevent
5252
```
5353

54+
#### Wallet Dependencies
55+
56+
If you do not need wallet functionality, you can use `-DENABLE_WALLET=OFF` in
57+
the `cmake -B` step below.
58+
59+
SQLite is required, but since macOS ships with a useable `sqlite` package, you don't need to
60+
install anything.
61+
5462
### 4. Clone Bitcoin repository
5563

5664
`git` should already be installed by default on your system.
@@ -63,19 +71,6 @@ git clone https://github.com/bitcoin/bitcoin.git
6371

6472
### 5. Install Optional Dependencies
6573

66-
#### Wallet Dependencies
67-
68-
It is not necessary to build wallet functionality to run `bitcoind` or `bitcoin-qt`.
69-
70-
###### Descriptor Wallet Support
71-
72-
`sqlite` is required to support for descriptor wallets.
73-
74-
macOS ships with a useable `sqlite` package, meaning you don't need to
75-
install anything.
76-
77-
---
78-
7974
#### GUI Dependencies
8075

8176
###### Qt

doc/build-unix.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ Now, you can either build from self-compiled [depends](#dependencies) or install
5454

5555
sudo apt-get install libevent-dev libboost-dev
5656

57-
SQLite is required for the descriptor wallet:
57+
SQLite is required for the wallet:
5858

5959
sudo apt install libsqlite3-dev
6060

61-
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
61+
To build Bitcoin Core without the wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
6262

6363
ZMQ-enabled binaries are compiled with `-DWITH_ZMQ=ON` and require the following dependency:
6464

@@ -105,11 +105,11 @@ Now, you can either build from self-compiled [depends](#dependencies) or install
105105

106106
sudo dnf install libevent-devel boost-devel
107107

108-
SQLite is required for the descriptor wallet:
108+
SQLite is required for the wallet:
109109

110110
sudo dnf install sqlite-devel
111111

112-
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
112+
To build Bitcoin Core without the wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
113113

114114
ZMQ-enabled binaries are compiled with `-DWITH_ZMQ=ON` and require the following dependency:
115115

@@ -155,11 +155,11 @@ Now, you can either build from self-compiled [depends](#dependencies) or install
155155

156156
apk add libevent-dev boost-dev
157157

158-
SQLite is required for the descriptor wallet:
158+
SQLite is required for the wallet:
159159

160160
apk add sqlite-dev
161161

162-
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
162+
To build Bitcoin Core without the wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
163163

164164
ZMQ dependencies (provides ZMQ API):
165165

doc/files.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
- [Installed Files](#installed-files)
2020

21+
- [Filesystem recommendations](#filesystem-recommendations)
22+
2123
## Data directory location
2224

2325
The data directory is the default location where the Bitcoin Core files are stored.
@@ -160,3 +162,8 @@ This table describes the files installed by Bitcoin Core across different platfo
160162
- *Italicized* files are only installed in source builds if relevant CMake options are enabled. They are not included in binary releases.
161163
- README and bitcoin.conf files are included in binary releases but not installed in source builds.
162164
- On Windows, binaries have a `.exe` suffix (e.g., `bitcoin-cli.exe`).
165+
166+
## Filesystem recommendations
167+
168+
When choosing a filesystem for the data directory (`datadir`) or blocks directory (`blocksdir`) on **macOS**,the `exFAT` filesystem should be avoided.
169+
There have been multiple reports of database corruption and data loss when using this filesystem with Bitcoin Core, see [Issue #31454](https://github.com/bitcoin/bitcoin/issues/31454) for more details.

0 commit comments

Comments
 (0)