Browse Source

better IsInitialBlockDownload

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@115 1a98c847-1fd6-4fd8-948a-caf3550aa51b
miguelfreitas
s_nakamoto 15 years ago
parent
commit
f79751c299
  1. 24
      main.cpp

24
main.cpp

@ -850,22 +850,19 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast)
return bnNew.GetCompact(); return bnNew.GetCompact();
} }
vector<int> vStartingHeight; bool IsInitialBlockDownload()
void AddStartingHeight(int nStartingHeight)
{ {
if (nStartingHeight != -1) if (pindexBest == NULL)
return true;
static int64 nLastUpdate;
static CBlockIndex* pindexLastBest;
if (pindexBest != pindexLastBest)
{ {
vStartingHeight.push_back(nStartingHeight); pindexLastBest = pindexBest;
sort(vStartingHeight.begin(), vStartingHeight.end()); nLastUpdate = GetTime();
}
} }
return (GetTime() - nLastUpdate < 10 &&
bool IsInitialBlockDownload() pindexBest->nTime < GetTime() - 24 * 60 * 60);
{
int nMedian = 69000;
if (vStartingHeight.size() >= 5)
nMedian = vStartingHeight[vStartingHeight.size()/2];
return nBestHeight < nMedian-1000;
} }
@ -1923,7 +1920,6 @@ bool ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
} }
AddTimeData(pfrom->addr.ip, nTime); AddTimeData(pfrom->addr.ip, nTime);
AddStartingHeight(pfrom->nStartingHeight);
// Change version // Change version
if (pfrom->nVersion >= 209) if (pfrom->nVersion >= 209)

Loading…
Cancel
Save