But now I'm getting:
user@localhost:~/Deveopment/chainstate $ ./chainstate
chainstate: chainstate.cc:45: int main(): Assertion `idx[0] == 'C'' failed.
Which is weird because if I add the following line before and comment the assertion like this:
~ 45 cout << "DBG: "<+ 46 //assert(idx[0] == 'C');
Then I get lines like:
user@localhost:~/Deveopment/chainstate $ ./chainstate
DBG:
Invalid output: 79656b5f65746163737566626f00 38c006 30080738760000
79656b5f65746163737566626f00;Invalid address or lost;30080738760000
last block: 06c03835a99fece306e4e25c7c7c7c34747a2ee3a3b177156a93b2ecdf7fd9a3
DBG: C
Invalid output: eacfdcd42b27112ab6c8b435abec20181d05b0ba5d4f1829c002cc3ef0000000 9729b525c0f657759ad3c11de5e525c596843cc30b84b975b5 4
eacfdcd42b27112ab6c8b435abec20181d05b0ba5d4f1829c002cc3ef0000000;Invalid address or lost;4
What could it be?
I think I forgot to handle a case: When the chainstate is obfuscated. When it happens, a new record is added to database, hitting the assert condition and making the parsing go wrong.
I added the forgotten feature, but I'm not 100% sure it is ok. So far my tests were OK (for some reason, my main testing bitcoins db was clear of any obfuscation). Could you pull the source again from
https://github.com/mycroft/chainstate and rebuild it to try it ? It would be really helpful.