Browse Source

clarify function signature (GetNumBlocksOfPeers) and use number of 'frozen' blocks as initial value for number of peer blocks

0.8
Wladimir J. van der Laan 13 years ago
parent
commit
d33cc2b5e3
  1. 10
      src/main.cpp
  2. 2
      src/main.h
  3. 2
      src/qt/bitcoingui.cpp
  4. 4
      src/qt/clientmodel.cpp
  5. 2
      src/qt/clientmodel.h

10
src/main.cpp

@ -31,8 +31,8 @@ map<uint256, CBlockIndex*> mapBlockIndex; @@ -31,8 +31,8 @@ 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"
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() @@ -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) @@ -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;
}
}

2
src/main.h

@ -99,7 +99,7 @@ void FormatHashBuffers(CBlock* pblock, char* pmidstate, char* pdata, char* phash @@ -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);

2
src/qt/bitcoingui.cpp

@ -346,7 +346,7 @@ void BitcoinGUI::setNumConnections(int count) @@ -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)

4
src/qt/clientmodel.cpp

@ -67,9 +67,9 @@ bool ClientModel::inInitialBlockDownload() const @@ -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()

2
src/qt/clientmodel.h

@ -32,7 +32,7 @@ public: @@ -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;

Loading…
Cancel
Save