diff --git a/src/main.cpp b/src/main.cpp index 20bd94884..4d5cb87b0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -31,8 +31,8 @@ map 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" +int nMaxBlocksOfPeers = 0; // Amount of blocks that other nodes claim to have CBlockIndex* pindexGenesisBlock = NULL; int nBestHeight = -1; CBigNum bnBestChainWork = 0; @@ -728,9 +728,9 @@ int GetTotalBlocksEstimate() } // Return maximum amount of blocks that other nodes claim to have -int GetMaxBlocksOfOtherNodes() +int GetNumBlocksOfPeers() { - return nMaxBlocksOfOtherNodes; + return std::max(nMaxBlocksOfPeers, GetTotalBlocksEstimate()); } bool IsInitialBlockDownload() @@ -1846,9 +1846,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 > nMaxBlocksOfOtherNodes) + if(pfrom->nStartingHeight > nMaxBlocksOfPeers) { - nMaxBlocksOfOtherNodes = pfrom->nStartingHeight; + nMaxBlocksOfPeers = pfrom->nStartingHeight; } } diff --git a/src/main.h b/src/main.h index 238cb5d8c..d1dc72d5d 100644 --- a/src/main.h +++ b/src/main.h @@ -99,7 +99,7 @@ void FormatHashBuffers(CBlock* pblock, char* pmidstate, char* pdata, char* phash bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey); bool CheckProofOfWork(uint256 hash, unsigned int nBits); int GetTotalBlocksEstimate(); -int GetMaxBlocksOfOtherNodes(); +int GetNumBlocksOfPeers(); bool IsInitialBlockDownload(); std::string GetWarnings(std::string strFor); diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 7943684ee..b51fd729c 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -346,7 +346,7 @@ void BitcoinGUI::setNumConnections(int count) void BitcoinGUI::setNumBlocks(int count) { int initTotal = clientModel->getNumBlocksAtStartup(); - int total = clientModel->getTotalBlocksEstimate(); + int total = clientModel->getNumBlocksOfPeers(); QString tooltip; if(count < total) diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index 08abaa6b4..2ed3ce51d 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -67,9 +67,9 @@ bool ClientModel::inInitialBlockDownload() const return IsInitialBlockDownload(); } -int ClientModel::getTotalBlocksEstimate() const +int ClientModel::getNumBlocksOfPeers() const { - return GetMaxBlocksOfOtherNodes(); + return GetNumBlocksOfPeers(); } OptionsModel *ClientModel::getOptionsModel() diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h index 8605fb93a..c68fb0f03 100644 --- a/src/qt/clientmodel.h +++ b/src/qt/clientmodel.h @@ -32,7 +32,7 @@ public: // Return true if core is doing initial block download bool inInitialBlockDownload() const; // Return conservative estimate of total number of blocks, or 0 if unknown - int getTotalBlocksEstimate() const; + int getNumBlocksOfPeers() const; QString formatFullVersion() const;