diff options
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp index 5d29492fcb..59a6984288 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -31,6 +31,7 @@ map<uint256, CBlockIndex*> mapBlockIndex; uint256 hashGenesisBlock("0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"); static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32); 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" CBlockIndex* pindexGenesisBlock = NULL; int nBestHeight = -1; @@ -726,6 +727,12 @@ int GetTotalBlocksEstimate() } } +// Return maximum amount of blocks that other nodes claim to have +int GetMaxBlocksOfOtherNodes() +{ + return nMaxBlocksOfOtherNodes; +} + bool IsInitialBlockDownload() { if (pindexBest == NULL || nBestHeight < (GetTotalBlocksEstimate()-nInitialBlockThreshold)) @@ -1837,9 +1844,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) pfrom->fSuccessfullyConnected = true; printf("version message: version %d, blocks=%d\n", pfrom->nVersion, pfrom->nStartingHeight); - if(pfrom->nStartingHeight > nTotalBlocksEstimate) + if(pfrom->nStartingHeight > nMaxBlocksOfOtherNodes) { - nTotalBlocksEstimate = pfrom->nStartingHeight; + nMaxBlocksOfOtherNodes = pfrom->nStartingHeight; } } |