Skip to content
You are reading Hyperledger Besu development version documentation and some displayed features may not be available in the stable release. You can switch to stable version using the version box at screen bottom.
Last update: September 24, 2020

Network upgrades in private networks

Network upgrades are the mechanism for upgrading the Ethereum protocol. The time when the protocol upgrade occurs is the network upgrade.

For the Ethereum MainNet and public testnets (for example, Rinkeby), the milestone block definitions are in Hyperledger Besu. Upgrading your Besu client applies the network upgrade.

For private networks, all network participants must agree on the protocol upgrades and then coordinate the network upgrades. The genesis file specifies the milestone block at which to apply the protocol upgrade.

Backward compatibility

Some protocol upgrades include changes that might break existing contracts (for example, gas cost changes). Before upgrading your protocol, review included EIPs for possible impact. A meta EIP for each protocol upgrade lists included EIPs. For example, Istanbul.


For compatibility with future protocol upgrades, do not hardcode any gas price assumptions.

Implementing upgradeable contracts enables contracts to be upgraded if a protocol upgrade does include breaking changes.

Questions or feedback? You can discuss issues and obtain free support on Hyperledger Besu chat channel.
For Hyperledger Besu community support, contact the mailing list