diff --git a/src/init.cpp b/src/init.cpp index df83709af..f1bb05347 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1432,7 +1432,13 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) mempool.setSanityCheck(1.0 / ratio); } fCheckBlockIndex = GetBoolArg("-checkblockindex", chainparams.DefaultConsistencyChecks()); - fCheckpointsEnabled = GetBoolArg("-checkpoints", true); + // Regtest inherits the DRAGONX *mainnet* checkpoint set (chainparams_commandline applies it + // for every SMART_CHAIN_SYMBOL=="DRAGONX" network, regardless of -regtest), whose top height + // ~3.2M would otherwise pin an isolated regtest chain in IsInitialBlockDownload() forever -- + // disabling the ChainTip auto-ops (autoshield/sweep/consolidation) and the below-checkpoint + // script-check skip. Default checkpoints OFF on regtest so a fresh regtest node leaves IBD + // normally; still overridable with -checkpoints=1. + fCheckpointsEnabled = GetBoolArg("-checkpoints", chainparams.NetworkIDString() != "regtest"); // -par=0 means autodetect, but nScriptCheckThreads==0 means no concurrency nScriptCheckThreads = GetArg("-par", DEFAULT_SCRIPTCHECK_THREADS);