Merge pull request #1392 from gavinandresen/testnet_reset

Testnet reset
This commit is contained in:
Gregory Maxwell 2012-05-27 19:26:47 -07:00
commit 20cb17e1f9
4 changed files with 20 additions and 17 deletions

View File

@ -35,27 +35,32 @@ namespace Checkpoints
(168000, uint256("0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763")) (168000, uint256("0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763"))
; ;
static MapCheckpoints mapCheckpointsTestnet =
boost::assign::map_list_of
( 546, uint256("000000002a936ca763904c3c35fce2f3556c559c0214345d31b1bcebf76acb70"))
;
bool CheckBlock(int nHeight, const uint256& hash) bool CheckBlock(int nHeight, const uint256& hash)
{ {
if (fTestNet) return true; // Testnet has no checkpoints MapCheckpoints& checkpoints = (fTestNet ? mapCheckpointsTestnet : mapCheckpoints);
MapCheckpoints::const_iterator i = mapCheckpoints.find(nHeight); MapCheckpoints::const_iterator i = checkpoints.find(nHeight);
if (i == mapCheckpoints.end()) return true; if (i == checkpoints.end()) return true;
return hash == i->second; return hash == i->second;
} }
int GetTotalBlocksEstimate() int GetTotalBlocksEstimate()
{ {
if (fTestNet) return 0; MapCheckpoints& checkpoints = (fTestNet ? mapCheckpointsTestnet : mapCheckpoints);
return mapCheckpoints.rbegin()->first; return checkpoints.rbegin()->first;
} }
CBlockIndex* GetLastCheckpoint(const std::map<uint256, CBlockIndex*>& mapBlockIndex) CBlockIndex* GetLastCheckpoint(const std::map<uint256, CBlockIndex*>& mapBlockIndex)
{ {
if (fTestNet) return NULL; MapCheckpoints& checkpoints = (fTestNet ? mapCheckpointsTestnet : mapCheckpoints);
BOOST_REVERSE_FOREACH(const MapCheckpoints::value_type& i, mapCheckpoints) BOOST_REVERSE_FOREACH(const MapCheckpoints::value_type& i, checkpoints)
{ {
const uint256& hash = i.second; const uint256& hash = i.second;
std::map<uint256, CBlockIndex*>::const_iterator t = mapBlockIndex.find(hash); std::map<uint256, CBlockIndex*>::const_iterator t = mapBlockIndex.find(hash);

View File

@ -291,8 +291,8 @@ void ThreadIRCSeed2(void* parg)
} }
if (fTestNet) { if (fTestNet) {
Send(hSocket, "JOIN #bitcoinTEST\r"); Send(hSocket, "JOIN #bitcoinTEST3\r");
Send(hSocket, "WHO #bitcoinTEST\r"); Send(hSocket, "WHO #bitcoinTEST3\r");
} else { } else {
// randomly join #bitcoin00-#bitcoin99 // randomly join #bitcoin00-#bitcoin99
int channel_number = GetRandInt(100); int channel_number = GetRandInt(100);

View File

@ -865,12 +865,12 @@ unsigned int static GetNextWorkRequired(const CBlockIndex* pindexLast, const CBl
// Only change once per interval // Only change once per interval
if ((pindexLast->nHeight+1) % nInterval != 0) if ((pindexLast->nHeight+1) % nInterval != 0)
{ {
// Special rules for testnet after 15 Feb 2012: // Special difficulty rule for testnet:
if (fTestNet && pblock->nTime > 1329264000) if (fTestNet)
{ {
// If the new block's timestamp is more than 2* 10 minutes // If the new block's timestamp is more than 2* 10 minutes
// then allow mining of a min-difficulty block. // then allow mining of a min-difficulty block.
if (pblock->nTime - pindexLast->nTime > nTargetSpacing*2) if (pblock->nTime > pindexLast->nTime + nTargetSpacing*2)
return nProofOfWorkLimit; return nProofOfWorkLimit;
else else
{ {
@ -1926,12 +1926,11 @@ bool LoadBlockIndex(bool fAllowNew)
{ {
if (fTestNet) if (fTestNet)
{ {
hashGenesisBlock = uint256("0x00000007199508e34a9ff81e6ec0c477a4cccff2a4767a8eee39c11db367b008");
bnProofOfWorkLimit = CBigNum(~uint256(0) >> 28);
pchMessageStart[0] = 0xfa; pchMessageStart[0] = 0xfa;
pchMessageStart[1] = 0xbf; pchMessageStart[1] = 0xbf;
pchMessageStart[2] = 0xb5; pchMessageStart[2] = 0xb5;
pchMessageStart[3] = 0xda; pchMessageStart[3] = 0xda;
hashGenesisBlock = uint256("000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943");
} }
// //
@ -1977,8 +1976,7 @@ bool LoadBlockIndex(bool fAllowNew)
if (fTestNet) if (fTestNet)
{ {
block.nTime = 1296688602; block.nTime = 1296688602;
block.nBits = 0x1d07fff8; block.nNonce = 414098458;
block.nNonce = 384568319;
} }
//// debug print //// debug print

View File

@ -834,7 +834,7 @@ const boost::filesystem::path &GetDataDir(bool fNetSpecific)
path = GetDefaultDataDir(); path = GetDefaultDataDir();
} }
if (fNetSpecific && GetBoolArg("-testnet", false)) if (fNetSpecific && GetBoolArg("-testnet", false))
path /= "testnet"; path /= "testnet3";
fs::create_directory(path); fs::create_directory(path);