Node A receives a newest block with height
h1, which it determines to be valid, and therefore stores the block on disk. A little later, it receives another block with the same height
h1 but a greater amount of proof of work than the previous one. What would node A do?
Also I am confused about the order of processing a new block. The order in the source code:
success success Check(block)----------->store block on disk------------------>ReceivedBlockTransaction-------->ActivateBestChain
ActivateBestChain were to fail, would the disk be rolled back or not? If it would rollback, why not put the
store block on disk?