Understanding pruning
When we talk about “pruning” , it means trimming the size of the blockchain to a point where we can make a functional registry with a smaller size.
In order to run a full node, different hardware requirements should be met based on the pruning strategy you would like to use.
Pruning is the term used to identify the periodic action that can be taken in order to free some disk space on your full node. This is done by removing old blocks data from the disk, freeing up space.
Inside FxCore, there are various types of pruning strategies that can be applied. Bu default, the pruning has been set to ‘default’. Also, it is recommended to use ‘default’
The main ones are:
default
: the last 100 states are kept in addition to every 500th state; pruning at 10 block intervals;nothing
: all historic states will be saved, nothing will be deleted (i.e. archiving node);everything
: all saved states will be deleted, storing only the current state; pruning at 10 block intervals (At the moment this option is not recommended as it can easily corrupt the database and the node will halt);custom
: allow pruning options to be manually configured through ‘pruning-keep-recent’, ‘pruning-keep-every’, and ‘pruning-interval’.
Under .fxcore/config/app.toml
# default: the last 100 states are kept in addition to every 500th state; pruning at 10 block intervals
# nothing: all historic states will be saved, nothing will be deleted (i.e. archiving node)
# everything: all saved states will be deleted, storing only the current state; pruning at 10 block intervals
# custom: allow pruning options to be manually specified through 'pruning-keep-recent', 'pruning-keep-every', and 'pruning-interval'
pruning = "default"
# These are applied if and only if the pruning strategy is custom.
pruning-keep-recent = "0"
pruning-keep-every = "0"
pruning-interval = "0"