I made files re-accessible. Now we could return to a later, already synchronized state with the files. I tried to put ./bitcoind -reindex-chainstate=0
, also in a bitcoin.conf, also directly calling the conf. It goes on reindexing the chainstate.
2 Answers
-reindex-chainstate
is an instant operation: it wipes a the chainstate (UTXO) database. It is performed at startup whenever the -reindex-chainstate
command-line option, or the reindex-chainstate=1
config file parameter is provided. It cannot be interrupted, but it is so fast this is rarely a concern. It's equivalent to emptying the chainstate/
directory by hand, FWIW.
Whenever the chainstate is behind the blockchain (i.e., you have blocks in your blocks/
directory which haven't been processed yet), the missing blocks will automatically be processed. This will typically happen after a -reindex
or -reindex-chainstate
, but it can happen outside of those too. E.g. when you wipe the chainstate/
directory yourself, or maybe if restore it to an older backup without making the equivalent restoration of the blocks/
directory.
The naming of these options is somewhat confusing, because what they trigger isn't the actual reindexing, but just the wiping that preceeds it; the reindex is automatic, and progressive (it will continue where it left off if you shutdown and start again, unless you specify the reindex option again at startup; in that case, it is wiped again and you'll start over again).
FWIW, any option, including these, can be disabled using the "no" variant (-noreindex-chainstate
here) or passing 0 (-reindex-chainstate=0
). But, as explained, that just disables the wiping; it cannot undo a wipe, and thus cannot "abort" the reindexing, as Bitcoin Core cannot proceed without first processing all the blocks it has.
In -help, -reindex-chainstate doesn't advertise to be an assignable [string typed] argument.
This means it is a boolean argument.
Don't assign it zero. Remove it completely.
Cheers!
Non assignable argument, boolean:
-reindex-chainstate
Rebuild chain state from the currently indexed blocks. When in pruning
mode or if blocks on disk might be corrupted, use full -reindex
instead.
Assignable argument, type string, not boolean:
-settings=<file>
Specify path to dynamic settings data file. Can be disabled with
-nosettings. File is written at runtime and not meant to be
edited by users (use bitcoin.conf instead for custom settings).
Relative paths will be prefixed by datadir location. (default:
settings.json)
-
-
let it reindex completely, then command it to close normally, let it finish normally; then try again and it shouldn't reindex– MercedesSep 30, 2021 at 7:12
-
-
It's impossible to abort reindexing, because it is an instant operation. Passing
-reindex
or-reindex-chainstate
wipes certain parts of the database, at startup. The actual reindexing is what follows: the process of rebuilding the databases. Bitcoind cannot operate without those databases. Sep 30, 2021 at 14:06 -
seems to be right description according to src/init.cpp "// This is a no-op if we cleared the coinsviewdb with -reindex or -reindex-chainstate". Post it as a main answer? Dbs are supposed to be edited finely record by record, and this measure would have been of help.– jubelSep 30, 2021 at 22:44