Before 15 May, limit created block size to 500K

This commit is contained in:
Gavin Andresen 2013-03-15 14:43:33 -04:00
parent 8c222dca4f
commit 402f19b645

View File

@ -2057,8 +2057,8 @@ bool CBlock::CheckBlock(CValidationState &state, bool fCheckPOW, bool fCheckMerk
return state.DoS(100, error("CheckBlock() : size limits failed")); return state.DoS(100, error("CheckBlock() : size limits failed"));
// Special short-term limits to avoid 10,000 BDB lock limit: // Special short-term limits to avoid 10,000 BDB lock limit:
if (GetBlockTime() > 1363039171 && // 11 March 2013, timestamp of block before the big fork if (GetBlockTime() >= 1363867200 && // start enforcing 21 March 2013, noon GMT
GetBlockTime() < 1368576000) // 15 May 2013 00:00:00 GetBlockTime() < 1368576000) // stop enforcing 15 May 2013 00:00:00
{ {
// Rule is: #unique txids referenced <= 4,500 // Rule is: #unique txids referenced <= 4,500
// ... to prevent 10,000 BDB lock exhaustion on old clients // ... to prevent 10,000 BDB lock exhaustion on old clients
@ -4155,6 +4155,10 @@ CBlockTemplate* CreateNewBlock(CReserveKey& reservekey)
// Limit to betweeen 1K and MAX_BLOCK_SIZE-1K for sanity: // Limit to betweeen 1K and MAX_BLOCK_SIZE-1K for sanity:
nBlockMaxSize = std::max((unsigned int)1000, std::min((unsigned int)(MAX_BLOCK_SIZE-1000), nBlockMaxSize)); nBlockMaxSize = std::max((unsigned int)1000, std::min((unsigned int)(MAX_BLOCK_SIZE-1000), nBlockMaxSize));
// Special compatibility rule before 15 May: limit size to 500,000 bytes:
if (GetAdjustedTime() < 1368576000)
nBlockMaxSize = std::min(nBlockMaxSize, (unsigned int)(MAX_BLOCK_SIZE_GEN));
// How much of the block should be dedicated to high-priority transactions, // How much of the block should be dedicated to high-priority transactions,
// included regardless of the fees they pay // included regardless of the fees they pay
unsigned int nBlockPrioritySize = GetArg("-blockprioritysize", 27000); unsigned int nBlockPrioritySize = GetArg("-blockprioritysize", 27000);