Skip to content

Stage upgrade to Casper node v1.5.6

Joe Sacher edited this page Feb 3, 2024 · 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.6 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.6, the activation point is Era 12509, which will be approximately around:

  • 2024-02-08 14:44 UTC
  • 2024-02-08 6:44 US/Pacific
  • 2024-02-08 9:44 US/Eastern
  • 2024-02-08 15:44 Europe/Zurich
  • 2024-02-08 22:44 Asia/Hong_Kong

Upgrade Staging Instructions

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

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

  2. Download and execute the upgrade:

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

Since we delayed 1_5_5 upgrade to not have it activate, this deletes 1_5_5 if it exists. And then stages both 1_5_5 and 1_5_6. The 1_5_5 will immediately jump to 1_5_6 at the upgrade activation point. This is done because we pushed the 1_5_5 upgrade out into the future to stop it from activating until the 1_5_6 release. By staging both, a restart is NOT needed.

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_6/config.toml

$ grep -R public_address /etc/casper/1_5_6/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_6/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": 12509,
  "protocol_version": "1.5.5"
}

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

To confirm 1_5_6 exists we can looks for the chainspec.toml activation point:

 $ grep 'activation_point' /etc/casper/1_5_6/chainspec.toml
 activation_point = 12509

If you get file not found or see a different activation_point, something is wrong.