HomePhabricator

Add block pruning functionality
f9ec3f0fadb1Unpublished

Unpublished Commit ยท Learn More

Repository Importing: This repository is still importing.

Description

Add block pruning functionality

This adds a -prune=N option to bitcoind, which if set to N>0 will enable block
file pruning. When pruning is enabled, block and undo files will be deleted to
try to keep total space used by those files to below the prune target (N, in
MB) specified by the user, subject to some constraints:

  • The last 288 blocks on the main chain are always kept (MIN_BLOCKS_TO_KEEP),
  • N must be at least 550MB (chosen as a value for the target that could reasonably be met, with some assumptions about block sizes, orphan rates, etc; see comment in main.h),
  • No blocks are pruned until chainActive is at least 100,000 blocks long (on mainnet; defined separately for mainnet, testnet, and regtest in chainparams as nPruneAfterHeight).

This unsets NODE_NETWORK if pruning is enabled.

Also included is an RPC test for pruning (pruning.py).

Thanks to @rdponticelli for earlier work on this feature; this is based in
part off that work.

Details

Provenance
mrbandrews <bandrewsny@gmail.com>Authored on Feb 23 2015, 19:27
Suhas Daftuar <sdaftuar@gmail.com>Committed on Apr 22 2015, 19:53
schancelPushed on Jan 5 2018, 21:58
schancelPushed on Jan 5 2018, 21:39
schancelPushed on Jan 5 2018, 21:17
Parents
rSTAGINGb6ea3bcede1c: Merge pull request #5911
Branches
Unknown
Tags
Unknown

Event Timeline

Suhas Daftuar <sdaftuar@gmail.com> committed rSTAGINGf9ec3f0fadb1: Add block pruning functionality (authored by mrbandrews <bandrewsny@gmail.com>).Apr 22 2015, 19:53