Browse Source

Add two hour buffer to manual pruning

0.14
Alex Morcos 8 years ago
parent
commit
91fb506e0a
  1. 6
      src/rpc/blockchain.cpp

6
src/rpc/blockchain.cpp

@ -820,7 +820,8 @@ UniValue pruneblockchain(const JSONRPCRequest& request)
throw runtime_error( throw runtime_error(
"pruneblockchain\n" "pruneblockchain\n"
"\nArguments:\n" "\nArguments:\n"
"1. \"height\" (numeric, required) The block height to prune up to. May be set to a discrete height, or to a unix timestamp to prune based on block time.\n" "1. \"height\" (numeric, required) The block height to prune up to. May be set to a discrete height, or a unix timestamp\n"
" to prune blocks whose block time is at least 2 hours older than the provided timestamp.\n"
"\nResult:\n" "\nResult:\n"
"n (numeric) Height of the last block pruned.\n" "n (numeric) Height of the last block pruned.\n"
"\nExamples:\n" "\nExamples:\n"
@ -839,7 +840,8 @@ UniValue pruneblockchain(const JSONRPCRequest& request)
// Height value more than a billion is too high to be a block height, and // Height value more than a billion is too high to be a block height, and
// too low to be a block time (corresponds to timestamp from Sep 2001). // too low to be a block time (corresponds to timestamp from Sep 2001).
if (heightParam > 1000000000) { if (heightParam > 1000000000) {
CBlockIndex* pindex = chainActive.FindEarliestAtLeast(heightParam); // Add a 2 hour buffer to include blocks which might have had old timestamps
CBlockIndex* pindex = chainActive.FindEarliestAtLeast(heightParam - 7200);
if (!pindex) { if (!pindex) {
throw JSONRPCError(RPC_INTERNAL_ERROR, "Could not find block with at least the specified timestamp."); throw JSONRPCError(RPC_INTERNAL_ERROR, "Could not find block with at least the specified timestamp.");
} }

Loading…
Cancel
Save