Full and archive node types
Besu supports two node types, commonly referred to as full nodes and archive nodes.
Full nodes have the current state of the blockchain so cannot serve the network with all data requests (for example, the balance of an account as at an old block). Full nodes can guarantee the latest state for the blockchain (and some older states, but not all). You can check current balances, sign and send transactions, and look at current Dapp data.
Archive nodes have all of this and they also store the intermediary state of every account and contract for every block since the genesis block. An archive node can do everything a full node does, and it can access historical state data.
For Besu on MainNet, Archive nodes require significantly more disk space (approximately 3TB) than full nodes (approximately 750GB).
Besu running on other public testnets, such as Ropsten, and other Ethereum clients will have different disk space requirements.
To run an archive node, enable full synchronization using
To run a full node, enable fast synchronization using
Instead of a full synchronization (
--sync-mode=FULL), which starts from the genesis block and reprocesses all transactions, fast synchronization (
--sync-mode=FAST) downloads the block headers and transaction receipts, and verifies the chain of block headers from the genesis block.
Fast synchronization is the default for named networks specified with the
--network option, except for the
dev development network.
In Besu, pruning reduces the storage required by removing state trie nodes that are unreachable from recent blocks.
Using pruning with private transactions is not supported.
Pruning might increase block import times, but it does not affect the ability of nodes to stay in sync.