|
|
@ -31,8 +31,8 @@ map<uint256, CBlockIndex*> mapBlockIndex; |
|
|
|
uint256 hashGenesisBlock("0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"); |
|
|
|
uint256 hashGenesisBlock("0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"); |
|
|
|
static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32); |
|
|
|
static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32); |
|
|
|
const int nTotalBlocksEstimate = 140700; // Conservative estimate of total nr of blocks on main chain
|
|
|
|
const int nTotalBlocksEstimate = 140700; // Conservative estimate of total nr of blocks on main chain
|
|
|
|
int nMaxBlocksOfOtherNodes = 0; // Maximum amount of blocks that other nodes claim to have
|
|
|
|
|
|
|
|
const int nInitialBlockThreshold = 120; // Regard blocks up until N-threshold as "initial download"
|
|
|
|
const int nInitialBlockThreshold = 120; // Regard blocks up until N-threshold as "initial download"
|
|
|
|
|
|
|
|
int nMaxBlocksOfPeers = 0; // Amount of blocks that other nodes claim to have
|
|
|
|
CBlockIndex* pindexGenesisBlock = NULL; |
|
|
|
CBlockIndex* pindexGenesisBlock = NULL; |
|
|
|
int nBestHeight = -1; |
|
|
|
int nBestHeight = -1; |
|
|
|
CBigNum bnBestChainWork = 0; |
|
|
|
CBigNum bnBestChainWork = 0; |
|
|
@ -728,9 +728,9 @@ int GetTotalBlocksEstimate() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Return maximum amount of blocks that other nodes claim to have
|
|
|
|
// Return maximum amount of blocks that other nodes claim to have
|
|
|
|
int GetMaxBlocksOfOtherNodes() |
|
|
|
int GetNumBlocksOfPeers() |
|
|
|
{ |
|
|
|
{ |
|
|
|
return nMaxBlocksOfOtherNodes; |
|
|
|
return std::max(nMaxBlocksOfPeers, GetTotalBlocksEstimate()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
bool IsInitialBlockDownload() |
|
|
|
bool IsInitialBlockDownload() |
|
|
@ -1846,9 +1846,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) |
|
|
|
pfrom->fSuccessfullyConnected = true; |
|
|
|
pfrom->fSuccessfullyConnected = true; |
|
|
|
|
|
|
|
|
|
|
|
printf("version message: version %d, blocks=%d\n", pfrom->nVersion, pfrom->nStartingHeight); |
|
|
|
printf("version message: version %d, blocks=%d\n", pfrom->nVersion, pfrom->nStartingHeight); |
|
|
|
if(pfrom->nStartingHeight > nMaxBlocksOfOtherNodes) |
|
|
|
if(pfrom->nStartingHeight > nMaxBlocksOfPeers) |
|
|
|
{ |
|
|
|
{ |
|
|
|
nMaxBlocksOfOtherNodes = pfrom->nStartingHeight; |
|
|
|
nMaxBlocksOfPeers = pfrom->nStartingHeight; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|