Feature request: Corrupted database recostruction
Currently if the database is corrupted, the only solution is deleting the database and resynchronize. This is not a issue if the user has fast internet, but it is going to be painful for user with low-end machines and slow internet. --db-salvage almost only works if monerod db is already running on safe mode. Although the database is corrupted, most blocks are still accessible and intact. The reconstruction feature should rescan the database on a low level, start from the genesis block, check hashes and verify the integrity of blocks. It should stop at the highest trustworthy block. Then construct a new database based on those verified blocks, delete the old database. The next synchronization should start from that reconstructed height instead of from 0.
Source: monero-project/monero