Skip to main content

Node synchronization for private networks

For private, permissioned blockchain networks, Besu uses the same synchronization modes as public networks, but with specific configurations for private network needs.

To sync Besu on a private network:

  • Ensure all nodes use compatible sync modes and configurations.
  • Configure the network with a custom genesis file.
  • Set the network ID and bootnodes specific to your private network.
  • Implement permissioning features to control network access.

The following is an overview of the private network sync modes. Select the sync mode based on your network's requirements and node purposes.

Sync modeDescriptionRequirementsLimitations
SnapRecommended for fastest sync and lowest storage requirements on Mainnet. Downloads as many leaves of the trie as possible and reconstructs the trie locally. Faster than fast sync.Available as an early access feature in Besu version 24.7.1 or laterCannot switch from fast sync to snap sync mid-process.
CheckpointSyncs from a specific checkpoint block configured in the genesis file. Fastest sync mode with lowest storage requirements.Besu version 22.4.3 or laterNot supported for QBFT or IBFT 2.0 networks without a checkpoint configuration.
FastDownloads block headers and transaction receipts, verifies chain from genesis block.NoneNot supported with private transactions.
FullDefault for all private networks. Downloads and verifies the entire blockchain and state from genesis block, building an archive node with full state history.NoneSlowest sync mode, requires the most disk space.
Early access feature

--Xsnapsync-bft-enabled is an early access feature available in Besu version 24.7.1 and later. It is not stable, so use this option with caution.

Use --Xsnapsync-bft-enabled with --sync-mode=SNAP to enable snap sync in QBFT and IBFT 2.0 private networks.