From 402f19b64530775a7e4ded025c80d8c16a55e454 Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Fri, 15 Mar 2013 14:43:33 -0400 Subject: [PATCH] Before 15 May, limit created block size to 500K --- src/main.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 51ada0a0bb8..22baf0f3eb8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2057,8 +2057,8 @@ bool CBlock::CheckBlock(CValidationState &state, bool fCheckPOW, bool fCheckMerk return state.DoS(100, error("CheckBlock() : size limits failed")); // Special short-term limits to avoid 10,000 BDB lock limit: - if (GetBlockTime() > 1363039171 && // 11 March 2013, timestamp of block before the big fork - GetBlockTime() < 1368576000) // 15 May 2013 00:00:00 + if (GetBlockTime() >= 1363867200 && // start enforcing 21 March 2013, noon GMT + GetBlockTime() < 1368576000) // stop enforcing 15 May 2013 00:00:00 { // Rule is: #unique txids referenced <= 4,500 // ... 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: 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, // included regardless of the fees they pay unsigned int nBlockPrioritySize = GetArg("-blockprioritysize", 27000);