I've been reading confusing information online about what the --reindex startup parameter does.

This link is not clear to me.


gArgs.AddArg("-reindex", "Rebuild chain state and block index from the blk*.dat files on disk", ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);

So, if I am on a fork because a mandatory upgrade occurred, I did not know about it, and I am no longer on the main chain, would a --reindex fix this?

1 Answer 1


No, it would not. --reindex only handles the data that is stored on disk. Blocks are stored in the order that they are received, which is what brought you to your current view of the blockchain. So all that would happen is that you end up at that same state.

Switching to another blockchain fork requires your node to be aware of it, so you need to have received those blocks from another node and they will be on your disk. If that chain is truly valid and has more work, then your node will have switched to it without a reindex.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.