Bor v2.1.0 Release

Hi all, we have released a new version of bor, v2.1.0

This is the first stable release in the 2.1.x series and includes the finalized changes for the upcoming Bhilai Hard Fork.

Note: This release contains some breaking changes to the database. Downgrading to previous versions requires re-syncing the chain from genesis. Please read the sections below carefully before upgrading.


Bhilai Hard Fork Preparation

  • Includes all protocol changes specified in PIP-63.
  • The Bhilai Hard Fork is not yet active. Activation parameters (such as fork block on mainnet) will be included in a follow-up release.

Database Format Change

  • The internal database version has been upgraded from v8 to v9.
  • This is a backward-incompatible change. After upgrading:
    • Downgrading to older versions will require a full resync from genesis.

Chain Rewind Behavior

  • Upon upgrade, nodes will enter a head-state missing state and will rewind several hundred blocks. This is expected behavior.
  • If you operate a cluster of interconnected nodes:
    • Upgrade them one at a time to allow rewound nodes to sync from peers that are still fully synced.
    • This minimizes the risk of extended downtime during the upgrade process.

Gas Limit Adjustment

  • The default block gas limit will be increased to 45 million.
  • This is a non-hard-fork change and takes effect immediately upon deployment of this version.

:warning: Validator Configuration Update (Mandatory)

If you are a validator upgrading to v2.1.x, you must check your config.toml file.

If the gaslimit field under the [miner] section is uncommented, it should be updated to the new value:

[miner]
  gaslimit = 45000000

If this section is not present or if gaslimit is commented, then you are all set. No actions needed from your end.

This change is required to support PIP-60.


Note: This release includes changes from EIP-7745. As a result, CPU usage may temporarily spike after a node restart due to log indexing. This is expected and should normalize once the indexing is complete.

Steps for upgrading Bor node

  1. Stop bor service

    sudo service bor stop
    
  2. Install Bor with a version tag, network name (amoy, mainnet), and node type (sentry, validator, or archive).

    # Replace the node type
    curl -L https://raw.githubusercontent.com/maticnetwork/install/main/bor.sh | bash -s -- v2.1.0 <network> <node_type>
    
  3. Check bor version

    /usr/bin/bor version
    
    # It should print 
    # v2.1.0
    
  4. Restart bor service

    sudo service bor start
    

What’s Changed

Full Changelog: v2.0.4…v2.1.0