Skip to content

Stage Upgrade for Casper 1.5.5

Joe Sacher edited this page Dec 30, 2023 · 2 revisions

Introduction and Timing

We are requesting that all Casper Mainnet participants stage the upgrade of their nodes to a new version of casper_node immediately, using the instructions below. Staging an upgrade is a process in which you tell your node to download the upgrade files and prepare them so that they can automatically be applied at the pre-defined activation point.

DO NOT restart the node, only run the commands provided. The upgrade will automatically occur at the activation point.

1.5.5 Release

Increased block speed and various bug fixes from 1.5.3. Look at release notes for more information.

For this upgrade to protocol version 1.5.5, the activation point is Era 12150, which will be approximately around:

  • 2024-01-09 15:46 UTC
  • 2024-01-09 07:46 US/Pacific
  • 2024-01-09 10:46 US/Eastern
  • 2024-01-09 16:46 Europe/Zurich
  • 2024-01-09 23:46 Asia/Hong_Kong

Upgrade Staging Instructions

The following command is all that is needed to stage the upgrade:

sudo -u casper /etc/casper/node_util.py stage_protocols casper.conf

IF you receive: sudo: /etc/casper/node_util.py: command not found, then you have a VERY old version on casper-node-launcher.
You should update your server to 20.04 or 22.04 and latest version of casper-node-launcher prior to the next upgrade. Details are on docs.casper.network

If you are running 20.04 or 22.04 and do not see 1.0.4 casper-node-launcher, make sure you are pointing to the focal repository: https://repo.casperlabs.io/.

Binaries for casper-node WILL NOT RUN on 18.04 after this release.

OLD Upgrade process

ONLY use this if node_util.py did not work above.

  1. Before running the upgrade, view the script with this command (optional):

    curl -s genesis.casperlabs.io/casper/1_5_5/stage_upgrade.sh

  2. Download and execute the upgrade:

    cd ~; curl -sSf genesis.casperlabs.io/casper/1_5_5/stage_upgrade.sh | sudo bash -

Verify no IPv6 address in config.toml

The providers used in scripts older than casper-node-launcher version 1.0.4 changed to return IPv6 addresses. If you have this enabled on your server and have not updated it is possible that automatic generation of IP address is using IPv6 and not compatible with the Casper network. This will leave your node isolated after the upgrade.

You can grep the config file to look at what is set with grep -R public_address /etc/casper/1_5_5/config.toml

$ grep -R public_address /etc/casper/1_5_5/config.toml
public_address = '3.141.141.131:0'

Notice a normal IPv4 address in the format XXX.XXX.XXX.XXX:0. If you see something like 2b02:c307:2042:360::1:0 then you have a bad IP. Edit /etc/casper/1_5_5/config.toml and change public_address to hold your nodes public IPv4 address and don't forget the trailing :0.

Verifying Successful Staging

After you have successfully executed the above commands, wait a few minutes for a new block to be issued before checking that your node is correctly staged with the upgrade. After a few minutes, take a look at your status end-point, as follows:

curl -s http://127.0.0.1:8888/status | jq .next_upgrade

You should expect this output if properly staged, prior to upgrading:

$ curl -s localhost:8888/status | jq .next_upgrade
{
  "activation_point": 12150,
  "protocol_version": "1.5.5"
}

If you see null after waiting for a few minutes, then your upgrade staging was not executed successfully.