0.17.1rc1 reindex-chainstate, assumevalid=0

Continuing the discussion from 0.17.1rc1 building txindex:

On a workstation (described in the previous thread), I had a fully-synced node with a fully-built txindex.

I then ran with:

[main]
debug=1
assumevalid=0
reindex-chainstate=1
txindex=1

Here’s the start:

2019-09-28T23:57:30Z Bitcoin Gold version v0.17.1rc1 (release build)

A ten-minute pause (dealing with a symlink issues on the drive):

2019-09-29T00:30:15Z GUI: ~BitcoinApplication : Stopped thread
             [ten minutes pass]
2019-09-29T00:40:25Z 


             [restart]
2019-09-29T00:40:25Z Bitcoin Gold version v0.17.1rc1 (release build)

The finish:

2019-09-29T10:28:23Z UpdateTip: new best=0000000207629c4d3154fb0a6b94797a75a131221c833aebcf119bff48082484 height=601092 version=0x20000000 log2_work=87.340668 tx=266526976 date='2019-09-29T10:25:19Z' progress=0.634941 cache=228.1MiB(1395901txo)

So, 10 hours 20 minutes for a full chainstate reindex. The important thing is that this confirms that the bug that causes the reindex to crash when setting the flag assumevalid=0 is fixed, even with a full txindex in place.

The chainstate includes all the UTXOs (unspent transaction outputs), but the chainstate does not include an index of all transactions; those are in the txindex. I do not know if reindex-chainstate also reindexes the txindex or not. However, I’m sure that a plain old reindex definitely reindexes everything, and that is my next test.

I will be running like this:

[main]
debug=1
assumevalid=0
reindex=1
txindex=1
1 Like