Flushes the blktree/ and coins/ databases, and reindexes the block chain files, as if their contents was loaded via -loadblock.
Based on earlier work by Jeff Garzik.
This is a step towards automatic upgrade of pre-ultraprune databases as well.
Flushes the blktree/ and coins/ databases, and reindexes the block chain files, as if their contents was loaded via -loadblock.
Based on earlier work by Jeff Garzik.
This is a step towards automatic upgrade of pre-ultraprune databases as well.
ACK
It would be nice if the code movement was pre-pended as a separate, first commit, but that's nit picking.
Automatic sanity-testing: FAILED BUILD/TEST, see http://jenkins.bluematt.me/pull-tester/fb917a38cc17d6484d2ffa93c6cdde6861d30ee2 for binaries and test log.
This could happen for one of several reasons:
Works good for me.. I abused this a little bit (running in valgrind, aborted runs, concurrent RPC activity) and haven't yet been able to break it. I haven't yet reviewed the code. (I have a lot of reading to do to fully catch up with ultraprune)
Er. Perhaps I spoke a bit too fast. the reindex appears to have been aborted by recieving a new block from the network, which caused a wad of orpan blocks and then sync continued very slowly from a remote peer. Perhaps while reindex is active we should ignore new blocks from the network?
By the way, this also swaps the order of -loadblock's and bootstrap.dat. Bootstrap.dat should be first.
Automatic sanity-testing: FAILED BUILD/TEST, see http://jenkins.bluematt.me/pull-tester/a31ed6aeece0b0201eb52fc566001f3f15dd1b98 for binaries and test log.
This could happen for one of several reasons:
Rebased and tests fixed
'Works' for me, though I'm still seeing it get disrupted by blocks on the network and end up taking forever.
Added support for continuing reindex across restarts, and improved output.
Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/d515540a18935cd8c9a1901bf1c3dcf559fcf568 for binaries and test log.
GUI changes look good
Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/70b6ec491f6589dc66ee1ef11089527d9f3e75f9 for binaries and test log.
ACK code changes (haven't had time to test thoroughly, but that shouldn't hold up the pull).
Flushes the blktree/ and coins/ databases, and reindexes the
block chain files, as if their contents was loaded via -loadblock.
Based on earlier work by Jeff Garzik.
1315 | + } 1316 | + 1317 | + // rewind to a given reading position 1318 | + bool SetPos(uint64 nPos) { 1319 | + nReadPos = nPos; 1320 | + if (nReadPos + nRewind < nSrcPos) {
I think there's a bug here that happens If the buffer size is greater than the file size.
Change 2* to 40* in
https://github.com/bitcoin/bitcoin/blob/c7cfd20a77ce57d200b3b9e5e0dfb0d63818abdc/src/validation.cpp#L4421
And then run with -reindex