The number of transactions since the last checkpoint block was set to
over 100K, but there were no checkpoint blocks other than genesis,
and the timestamp of last checkpoint block was incorrect as well. These
led to the progress indicator always being very close to zero.
This adds checkpoint blocks rougly every 10K blocks and corrects the
other metadata.
komodod now starts up and dies with InvalidChainFound, I think due to
checkpoints:
call komodo_args.(./src/komodod) NOTARY_PUBKEY.()
initialized at 1526749522
finished loading blocks
Assertion failed: (tip), function InvalidChainFound, file main.cpp, line 1942.
This introduces a 'minimum chain work' chainparam which is intended
to be the known amount of work in the chain for the network at the
time of software release. If you don't have this much work, you're
not yet caught up.
This is used instead of the count of blocks test from checkpoints.
This criteria is trivial to keep updated as there is no element of
subjectivity, trust, or position dependence to it. It is also a more
reliable metric of sync status than a block count.
After discussion in #7164 I think this is better.
Max tip age was introduced in #5987 to make it possible to run
testnet-in-a-box. But associating this behavior with the testnet chain
is wrong conceptually, as it is not needed in normal usage.
Should aim to make testnet test the software as-is.
Replace it with a (debug) option `-maxtipage`, which can be
specified only in the specific case.
170004 is the protocol version for the NODE_BLOOM change, which is being
"released" in this RC. The activation height is being set in the final release,
which means that we may end up with both RC and final release versions online
when Overwinter activates. Bumping the protocol version for Overwinter enables
RC nodes to be correctly disconnected.