Bor Mumbai Upgrade: v0.3.1-mumbai - Delhi Hardfork [Action Required] (Revised)

We are releasing a new version of Bor - v0.3.1-mumbai and it will be a hard fork (named Delhi Fork). The hard fork will be expected on 13th Dec 2022 around 12 PM UTC on block number - 29638656 (https://mumbai.polygonscan.com/block/countdown/29638656). Make sure to upgrade your mumbai nodes before the timeline.

Note: v0.3.0 upgrade is mandatory before upgrading to v0.3.1

Release notes:

  1. Decrease sprint length from 64 to 16
  2. Decrease block time from 5sec to 2sec
  3. Increase baseFeeChangeDenominator from 8 to 16
  4. GRPC integration for bor and heimdall
  5. Bug fixes and improvements

Instructions to Upgrade

  1. Stop bor service

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

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

    /usr/bin/bor version
    
    # It should print 
    # 0.3.1-mumbai
    
  4. (Optional fix) Fix bor binary and config toml file. Note: Due to a bug in installation script, people who tried earlier installing v0.3.1-mumbai might have wiped off their config file. This step is mandatory if /usr/bin/bor, /var/lib/bor/config.toml , or /lib/systemd/system/bor.service is missing. For validators who haven’t tried installing v0.3.1-mumbai before and have verified the mentioned files exist, this step can be skipped.
    Upgrade go version to 1.19 if not already present on the local machine

    wget https://raw.githubusercontent.com/maticnetwork/node-ansible/master/go-install.sh
    
    bash go-install.sh --remove
    
    bash go-install.sh
    
    source /home/ubuntu/.bashrc
    

    Clean up and reinstall bor packages, and recreated config.toml

    sudo dpkg -r bor bor-profile # Remove uncleaned package
    # Replace the node type in the command below
    curl -L https://raw.githubusercontent.com/maticnetwork/install/main/bor.sh | bash -s -- v0.3.1-mumbai mumbai <node_type>
    sudo chown bor /var/lib/bor
    
    git clone https://github.com/maticnetwork/bor.git # If not already cloned
    cd bor
    git fetch
    git checkout tags/v0.3.1-mumbai
    make bor
    cd scripts
    
    # Note: Running this command will output a config.toml which will have
    #       values populated from the start.sh. Also, the script demands
    #       for path to start.sh, validator address (if required) and path
    #       to static-nodes.json if not found in the default location.
    BOR_DIR=/var/lib/bor ./getconfig.sh
    ...
    * Path to start.sh: /home/ubuntu/node/bor/start.sh
    * Your validator address (e.g. 0xca67a8D767e45056DC92384b488E9Af654d78DE2), or press Enter to skip if running a sentry node: 0xca67a8D767e45056DC92384b488E9Af654d78DE2
    * You dont have '~/.bor/data/bor/static-nodes.json' file. If you want to use static nodes, enter the path to 'static-nodes.json' here (press Enter to skip): /home/ubuntu/my/path/static-nodes.json
    
    Thank you, your inputs are:
    Path to start.sh: /home/ubuntu/node/bor/start.sh
    Address: 0xca67a8D767e45056DC92384b488E9Af654d78DE2
    Path to the config file: **/home/ubuntu/node/bor-start-config.toml**
    ...
    
    # Note: We're considering /home/ubuntu as our home directory. Please
    #       update the commands to use your home directory before proceeding. 
    #       Copy the newly created file from the output above
    #       (Path to the config file) to /var/lib/bor/config.toml
    sudo cp **/home/ubuntu/node/bor-start-config.toml** /var/lib/bor/config.toml
    sudo chown bor /var/lib/bor/config.toml
    
  5. Restart bor service

    sudo service bor start
    

Docker Images

You can find the latest docker images here:

Bor: https://hub.docker.com/r/0xpolygon/bor/tags

Heimdall: https://hub.docker.com/r/0xpolygon/heimdall/tags

Thanks,

Polygon Team

1 Like