В текущем его виде - никак, потому что блоки используются для разворачивания новых нод сети. Им же нужно где-то их скачать.
да я для себя, чисто ради эксперимента
встал на развилке -
либо FlushBlockFile
там типа как в гитхабе изменения вносятся - это когда происходит пересборка цепи в результате орфана
тут я еще не все понял....
либо топорно :
читаем блок
ReadBlockFromDisk(block, pindexDelete)
пересобираем его но уже без транзакций но с меркелем
и пишем в файл
WriteBlockToDisk(CBlock& block, CDiskBlockPos& pos)
туплю туплю
// First make sure all block and undo data is flushed to disk.
FlushBlockFile();
// Then update all block file information (which may refer to block and undo files).
это все совместно работает,
WriteBlockToDisk пишет в буфер
FlushBlockFile фиксирует комиты в файл
значит сначала делаем undo блоку, потом WriteBlockToDisk
блин как все сложно устроили...