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 RequireRPCPassword() const { return false; }
|
||||||
|
virtual bool MiningRequiresPeers() const { return false; }
|
||||||
virtual Network NetworkID() const { return CChainParams::REGTEST; }
|
virtual Network NetworkID() const { return CChainParams::REGTEST; }
|
||||||
};
|
};
|
||||||
static CRegTestParams regTestParams;
|
static CRegTestParams regTestParams;
|
||||||
|
|
|
@ -59,6 +59,8 @@ public:
|
||||||
int SubsidyHalvingInterval() const { return nSubsidyHalvingInterval; }
|
int SubsidyHalvingInterval() const { return nSubsidyHalvingInterval; }
|
||||||
virtual const CBlock& GenesisBlock() const = 0;
|
virtual const CBlock& GenesisBlock() const = 0;
|
||||||
virtual bool RequireRPCPassword() const { return true; }
|
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; }
|
const string& DataDir() const { return strDataDir; }
|
||||||
virtual Network NetworkID() const = 0;
|
virtual Network NetworkID() const = 0;
|
||||||
const vector<CDNSSeedData>& DNSSeeds() const { return vSeeds; }
|
const vector<CDNSSeedData>& DNSSeeds() const { return vSeeds; }
|
||||||
|
|
|
@ -512,7 +512,7 @@ void static BitcoinMiner(CWallet *pwallet)
|
||||||
unsigned int nExtraNonce = 0;
|
unsigned int nExtraNonce = 0;
|
||||||
|
|
||||||
try { while (true) {
|
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
|
// 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.
|
// on an obsolete chain. In regtest mode we expect to fly solo.
|
||||||
while (vNodes.empty())
|
while (vNodes.empty())
|
||||||
|
@ -620,7 +620,8 @@ void static BitcoinMiner(CWallet *pwallet)
|
||||||
|
|
||||||
// Check for stop or if block needs to be rebuilt
|
// Check for stop or if block needs to be rebuilt
|
||||||
boost::this_thread::interruption_point();
|
boost::this_thread::interruption_point();
|
||||||
if (vNodes.empty() && Params().NetworkID() != CChainParams::REGTEST)
|
// Regtest mode doesn't require peers
|
||||||
|
if (vNodes.empty() && Params().MiningRequiresPeers())
|
||||||
break;
|
break;
|
||||||
if (nBlockNonce >= 0xffff0000)
|
if (nBlockNonce >= 0xffff0000)
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue