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;
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;
} }
} }

2
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 CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey);
bool CheckProofOfWork(uint256 hash, unsigned int nBits); bool CheckProofOfWork(uint256 hash, unsigned int nBits);
int GetTotalBlocksEstimate(); int GetTotalBlocksEstimate();
int GetMaxBlocksOfOtherNodes(); int GetNumBlocksOfPeers();
bool IsInitialBlockDownload(); bool IsInitialBlockDownload();
std::string GetWarnings(std::string strFor); std::string GetWarnings(std::string strFor);

2
src/qt/bitcoingui.cpp

@ -346,7 +346,7 @@ void BitcoinGUI::setNumConnections(int count)
void BitcoinGUI::setNumBlocks(int count) void BitcoinGUI::setNumBlocks(int count)
{ {
int initTotal = clientModel->getNumBlocksAtStartup(); int initTotal = clientModel->getNumBlocksAtStartup();
int total = clientModel->getTotalBlocksEstimate(); int total = clientModel->getNumBlocksOfPeers();
QString tooltip; QString tooltip;
if(count < total) if(count < total)

4
src/qt/clientmodel.cpp

@ -67,9 +67,9 @@ bool ClientModel::inInitialBlockDownload() const
return IsInitialBlockDownload(); return IsInitialBlockDownload();
} }
int ClientModel::getTotalBlocksEstimate() const int ClientModel::getNumBlocksOfPeers() const
{ {
return GetMaxBlocksOfOtherNodes(); return GetNumBlocksOfPeers();
} }
OptionsModel *ClientModel::getOptionsModel() OptionsModel *ClientModel::getOptionsModel()

2
src/qt/clientmodel.h

@ -32,7 +32,7 @@ public:
// Return true if core is doing initial block download // Return true if core is doing initial block download
bool inInitialBlockDownload() const; bool inInitialBlockDownload() const;
// Return conservative estimate of total number of blocks, or 0 if unknown // Return conservative estimate of total number of blocks, or 0 if unknown
int getTotalBlocksEstimate() const; int getNumBlocksOfPeers() const;
QString formatFullVersion() const; QString formatFullVersion() const;

Loading…
Cancel
Save