Skip to content

Historical data

This feature is available from Nimbus v23.1.0 onwards.

Ethereum consensus nodes are required to keep a minimum of 5 months of historical block data ensuring the health of the network.

Nimbus can be configured to either retain or remove historical data past that point using the --history option. By default, Nimbus prunes historical data.

EIP-4844 blob archival

In the default prune mode, EIP-4844 blobs are retained for ~18 days. To retain blobs beyond that, enable --history=archive which also archives blob data in the Nimbus database.

Future versions of Nimbus will allow exporting retained blobs to erb files.

History modes

The history mode controls how far back Nimbus supports answering historical queries in the REST API. It does not affect the ability to perform validator duties.

In prune mode, blocks and states past that point are removed from the database continuously and the freed space is reused for more recent data.

Database size

Although blocks and states are pruned, the database will not shrink in size: instead, the freed space is reused for new data.

In archive mode, queries can be as far back as the state that the database was created with — the checkpoint state in the case of trusted node sync or genesis.

Switching between modes

It is possible to switch between prune and archive modes.

When switching to prune mode, deep history will be removed from the database and the prune point will be updated continuously as usual.

As noted above, the database will not shrink in size. To reclaim space, perform a trusted node sync using a fresh database.

When switching to archive mode, the node will start keeping history from the most recent prune point, but will not recreate deep history.

In order to recreate deep history in a pruned node, download the era archive of deep history and reindex the database — this operation may take several hours.

Command line

./run-mainnet-beacon-node.sh --history=prune ...
./run-holesky-beacon-node.sh --history=prune ...