Updated on April 4, 2020
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. With an archive node you can do everything you do with a full node, as well as 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.
Instead of a full synchronization (
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 enables pruning by default, but you can explicitly disable pruning
synchronization disables pruning by default.
Do not use pruning in Hyperledger Besu v1.4.0. Pruning has a known bug.
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.