Skip to main content

Berkeley Upgrade

The Berkeley upgrade is a major upgrade that requires all nodes in a network to upgrade to a newer version. It is not backward compatible.

A major upgrade occurs when there are major changes to the core protocol that require all nodes on the network to update to the latest software.

How to prepare for the Berkeley upgrade

The Berkeley upgrade requires upgrading all nodes, including archive nodes. One of the required steps is to migrate archive databases from the current Mainnet format to Berkeley. This migration requires actions and efforts from node operators and exchanges.

Learn about the archive data migration:

Finally, see the shell script example that is compatible with a stock Debian 11 container:

What will happen with original Devnet/Mainnet data

After the migration, you will have two databases:

  • The original Devnet/Mainnet database with small data adjustments (all pending blocks from last canoncial block until the fork block are converted to canoncial blocks)
  • A new Berkeley database based on Devnet/Mainnet data, but:
    • Without Devnet/Mainnet orphaned blocks
    • Without pending blocks that are not in the canonical chain
    • With all pending blocks on the canonical chain converted to canonical blocks

There is no requirement to preserve the original Devnet/Mainnet database after migration. However, if for some reason you want to keep the Mainnet orphaned or non-canonical pending blocks, you can download the archive maintenance package for the Devnet/Mainnet database.

To learn about maintaining archive data, see Devnet/Mainnet database maintenance.