Fix/improve bootstrapping, introduce "reckless" chainstate db mode.#2015
Merged
ImplOfAnImpl merged 11 commits intomasterfrom Feb 24, 2026
Merged
Fix/improve bootstrapping, introduce "reckless" chainstate db mode.#2015ImplOfAnImpl merged 11 commits intomasterfrom
ImplOfAnImpl merged 11 commits intomasterfrom
Conversation
69fdefb to
f561724
Compare
a1a23a7 to
ba74430
Compare
c538551 to
27b8ea4
Compare
OBorce
approved these changes
Feb 23, 2026
9f32e9b to
347cd2e
Compare
27b8ea4 to
a7dfe86
Compare
347cd2e to
6a32ca8
Compare
a7dfe86 to
3080d94
Compare
…f the app was shutdown during bootstrapping.
…s `run` to node-lib to re-use it in test node. Remove `--import-bootstrap-file` option from node-gui. Make `--clean-data` and `--import-bootstrap-file` top-level options. Update bootstrapping functional tests to also check bad file import.
…compilation of wasm bindings
3080d94 to
9e024fe
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bootstrapping was previously completely non-functional, because an attempt to import a bootstrap file would truncate it instead.
Also, it was slow, not really faster than a network sync (a lot of overhead was coming from the inefficiency of the file format itself).
So, in this PR:
--import-bootstrap-fileand it's a top-level option (i.e. it comes before the network type). I also made--clean-dataa top-level option, for consistency and to be able to mark them as mutually exclusive.--enable-db-reckless-mode-in-ibdwas added, which puts chainstate into a "reckless" mode during bootstrapping or IBD; this disables filesystem sync at each db transaction commit, which has the potential to corrupt the db on a system crash, but also makes bootstrapping several times faster.