Rollback tooling
Node may go on a wrong fork with invalid blocks/squares, as with the recent bug in Arabica testnet. The current solution is to resync the whole chain, while instead we provide a CLI tool to rollback to a particular height.
We could enable this over RPC at runtime or with cel-shed when the node is down. Looking long-term, when BN becomes a storage node with crud for squares and headers, it could make sense to go directly to the approach in runtime
Issue implies as fact that invalid blocks can be accepted by the node and be stored. Before implementing the solution for rollback we need to identify the root issue of how it can be possible that invalid block got stored in the first place.
Issue implies as fact that invalid blocks can be accepted by the node and be stored.
Yes, which can happen because of the bug or a real fork