Add MiningRequiresPeers chain parameter
This commit is contained in:
parent
358a61ee06
commit
1712adbe0b
3 changed files with 6 additions and 2 deletions
|
@ -246,6 +246,7 @@ public:
|
|||
}
|
||||
|
||||
virtual bool RequireRPCPassword() const { return false; }
|
||||
virtual bool MiningRequiresPeers() const { return false; }
|
||||
virtual Network NetworkID() const { return CChainParams::REGTEST; }
|
||||
};
|
||||
static CRegTestParams regTestParams;
|
||||
|
|
|
@ -59,6 +59,8 @@ public:
|
|||
int SubsidyHalvingInterval() const { return nSubsidyHalvingInterval; }
|
||||
virtual const CBlock& GenesisBlock() const = 0;
|
||||
virtual bool RequireRPCPassword() const { return true; }
|
||||
/* Make miner wait to have peers to avoid wasting work */
|
||||
virtual bool MiningRequiresPeers() const { return true; }
|
||||
const string& DataDir() const { return strDataDir; }
|
||||
virtual Network NetworkID() const = 0;
|
||||
const vector<CDNSSeedData>& DNSSeeds() const { return vSeeds; }
|
||||
|
|
|
@ -512,7 +512,7 @@ void static BitcoinMiner(CWallet *pwallet)
|
|||
unsigned int nExtraNonce = 0;
|
||||
|
||||
try { while (true) {
|
||||
if (Params().NetworkID() != CChainParams::REGTEST) {
|
||||
if (Params().MiningRequiresPeers()) {
|
||||
// Busy-wait for the network to come online so we don't waste time mining
|
||||
// on an obsolete chain. In regtest mode we expect to fly solo.
|
||||
while (vNodes.empty())
|
||||
|
@ -620,7 +620,8 @@ void static BitcoinMiner(CWallet *pwallet)
|
|||
|
||||
// Check for stop or if block needs to be rebuilt
|
||||
boost::this_thread::interruption_point();
|
||||
if (vNodes.empty() && Params().NetworkID() != CChainParams::REGTEST)
|
||||
// Regtest mode doesn't require peers
|
||||
if (vNodes.empty() && Params().MiningRequiresPeers())
|
||||
break;
|
||||
if (nBlockNonce >= 0xffff0000)
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue