Is it possible to artificially delete a given block from local chain database without causing any problems? for example, how could I delete the latest block from my local eth node, and resync newly generated blocks from other nodes?
If no known RPCs are available, could I write myself an API to do a delete block operation? As far as I can see, the core.blockchain.go has supported a SetHead function with the following comments:
// SetHead rewinds the local chain to a new head. In the case of headers, everything // above the new head will be deleted and the new one set. In the case of blocks // though, the head may be further rewound if block bodies are missing (non-archive // nodes after a fast sync).
dose that mean I can use this method to reset my local chain head? If so, what will happen to the blocks after this chain head? will these blocks be deleted?