1

I have a geth-based ethereum installation that started crashing with "Missing trie node" errors. In the chaindata folder I have hundreds of ldb files, nearly all of which are around 2.1Mb - but the most recent one, started yesterday, is 151Mb, suggesting something has gone astray in it. It then turns out that transactions were not syncing to other nodes in my network, so this is my only copy of the data. The corrupted file means that geth will not start, but that also means that the other (non-corrupted) transactions in older files are inaccessible.

How can I recover those transactions? Can I import individual ldb files directly into a new setup rather than the whole chain data folder? Can I remove the problem file without breaking things too much?

-1

You're hosed. Delete the data folder and re-sync. Be super, super, extra, extra careful not to delete your key files.

  • 1
    That's the problem - there is nowhere to resync from. I couldn't help but notice the comment on the LevelDB wikipedia page: "LevelDB is widely noted for being unreliable and databases it manages are prone to corruption". Doesn't seem like a great base to build on. – Synchro Sep 2 '17 at 8:08
  • 1
    You're talking about geth right? If you see the files, you know where the folder is. Find instructions elsewhere for deleting the database folder. The next time you start geth it will re-sync. I won't give specific instructions because I don't want blame if you delete your private keys and lose your money. Look for a good set of instructions that explain what that means. – Thomas Jay Rush Sep 2 '17 at 13:55
  • Do you have a single blockchain node running a private chain? Because that's the only time you'd have nowhere to resync from. – rustyx Jul 16 '18 at 18:56
  • I am unsure how useful this is as an answer :P – Thomas Clowes Dec 20 '18 at 13:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.