Database Sizes

RocksDB

Kusama
Polkadot
Full Node
Retains last 256 blocks
Size - 171.99 GiB
Last Updated - 11/14/2022 11:30:05 PM Block Height - 15,225,799
Size - 195.58 GiB
Last Updated - 5/17/2023 3:15:22 AM Block Height - 15,458,168
Pruned Node
Retains last 1,000 blocks
Size - 258.56 GiB
Last Updated - 6/7/2023 7:45:05 PM Block Height - 18,257,231
Size - 202.11 GiB
Last Updated - 6/5/2023 7:30:24 PM Block Height - 15,725,007
Archive Node
Retains all blocks
Size - 945.05 GiB
Last Updated - 11/16/2022 8:30:10 AM Block Height - 15,185,550
Size - 563.36 GiB
Last Updated - 11/16/2022 8:30:26 AM Block Height - 12,833,368
The data used to populate this table is freely available via http://api.paranodes.io/DBSizes and should be updated hourly at the 15 min mark, date format = UTC.

Full Node - A full node is a pruned node that retains the last 256 states. It can be initiated, in default, by starting a node and not specifying the --validator or any pruning flags.

You may use the following flags to initate a full node manually: --pruning=256 --unsafe-pruning

Pruned Node - A pruned node is one that retains only the last x blocks or states i.e. the database is pruned (trimmed). It can be used as a measure to reduce the storage footprint of a node's database, which is the usually the largest store of information for a node. Pruned databases can be used for validator nodes, the most popular configuration of which is to retain the last 1000 states.

A pruned database still requires a full download and processing of all blocks in the chain. To circumvent this you may use a database snapshot to restore or load a pruned database. The pruned settings of the snapshot must match those used in your config. While there's no reason to suspect mischievious behavior of current providers; one should approach use of snapshots with caution and on the basis of need.

You may use the following flags to initate a pruned node that retains the last 1000 states: --pruning=1000 --unsafe-pruning

Archive Node - An archive node retains all block and state history for the chain. This can be used by validators if storage requirements permit. It is best suited for those who desire to retain a copy of the chain for the purpose of redundancy and redistribution. An archive node may also be used for development purposes to fulfil historical queries.

You may use the following flags to initate an archive node manually: --pruning=archive

Methodology - Presented are the uncompressed size of the /home/{user}/.local/share/polkadot/chains/{chain}/db folder and all subcontents using the du -sh command. The output was then converted to JSON using code available here. This does not reflect the final size of a complete Polkadot installation, it only represents the size of the database. Please note and scale your estimates.

  • Growth charts coming SoonTM
  • For any suggestions, feel free to submit a PR for these relevant source files 1, 2