I'm trying to understand how Bitcoin Core works in-depth. Can someone tell me where is the code executed during a blockchain reorganization in Bitcoin Core?
Any explanation would also be greatly appreciated.
Bitcoin Stack Exchange is a question and answer site for Bitcoin users, developers, and enthusiasts. It only takes a minute to sign up.
Sign up to join this communityI'm trying to understand how Bitcoin Core works in-depth. Can someone tell me where is the code executed during a blockchain reorganization in Bitcoin Core?
Any explanation would also be greatly appreciated.
Block tree is stored on-disk. During startup, is read into memory. When read, BlockManager::m_block_index
field is filled with data - CBlockIndexes. Every CBlockIndex contains memory-only field arith_uint256 nChainWork
, which is a total amount of work in the chain up to (and including) current block.
Best chain is selected as maximum among all nChainWork
of all tips and saved to CChainState::m_chain
- currently active chain.