PlatON Mainnet Node Upgrade Guide - v1.4.2

Version Information

ChainID: 210425

Version: 1.4.2

Git Commit: 382e9431034c9a3a2e9d748598d6770242743f54

Binary Download (choose one):

For Ubuntu 18.04 system:

For Ubuntu 20.04 system:

Note: This document adds the corresponding binary file for Ubuntu 20.04 system.

System Requirements

  • Server: Server and backup server running PlatON software (both have a firewall)
  • Memory: 16GB RAM
  • Local storage: 100GB system disk, 200GB data disk (can be expanded online)
  • Processor: 64-bit 4 cores (each core above 2.4 GHz)
  • Bandwidth: 5 MB/sec (can be expanded online)

1. Installation Guide

If you have already installed the PlatON node, please skip to Point 2 for the update operation.

If not, please strictly follow the official documentation to install it. If you need any help, please contact community support.

2. Upgrade Guide (upgrade without rebooting)

The following steps use Ubuntu18.04 and Ubuntu 20.04 as examples.

The update operation has two methods: use binary directly, source code compiling , choose one of them to update.

please follow the steps strictly to upgrade, contact customer service if you need any help.

  • Use binary directly

    # Backup binary
    $ [[ -x /usr/bin/platon ]] && sudo mv /usr/bin/platon /usr/bin/platon_`platon version | grep '^Version:' | awk -F "[ ,:,-]" '{print $3}'`
    # According to the node's host system, choose the latest binary file (choose one)
    # PlatON version for Ubuntu 18.04
    $ wget
    # PlatON version for Ubuntu 20.04 
    $ wget
    # Use the new version
    $ chmod +x platon
    $ sudo mv platon /usr/bin/platon
    # Check version
    $ platon version
    Version: 1.4.2-unstable
    Git Commit: 382e9431034c9a3a2e9d748598d6770242743f54
  • Source code compiling (For environments that have been successfully compiled before, for new compilation please refer to official website source installation .

    According to the node’s host system, choose to compile on Ubuntu18.04 or Ubuntu 20.04 .

    # Backup binary
    $ [[ -x /usr/bin/platon ]] && sudo mv /usr/bin/platon /usr/bin/platon_`platon version | grep '^Version:' | awk -F "[ ,:,-]" '{print $3}'`
    # Compile binary
    $ git clone --recursive
    $ cd PlatON-Go/
    $ git fetch --all
    $ git checkout -b platon-1.4.2  382e9431034c9a3a2e9d748598d6770242743f54
    # Install dependencies and compile, if missing 'go.sum entry for module' appears, use 'go mod tidy' to remove unused and add missing dependencies
    $ go mod download && make all
    # Use the new version 
    $ chmod +x build/bin/platon
    $ sudo mv build/bin/platon /usr/bin/platon
    # Check version
    $ platon version
    Version: 1.4.2-unstable
    Git Commit: 382e9431034c9a3a2e9d748598d6770242743f54

3. Reboot the process at an appropriate time

If the current node has staked before, please check whether it has been selected as a validator (Verifying) on the Blockchain Explorer. If so, please reboot your node after the node exits from the validator model (switch from Verifying to Active).

The command below is for reference only. You should reboot the platon process according to your own management approach.

# Check process ID  
$ ps aux |grep platon
root   13476 39.1 49.7 9174616 3925796 ?     Sl   Feb07 1140:19 /usr/bin/platon  --identity ....

# # Terminate platon node, e.g. kill 13476, the process ID is 13476 in the example above, use the actual value; after executing the kill command, check if the process has exited properly with the ps command above, then execute the follow-up start command
$ kill <process ID>

# Activate platon node
$ nohup platon --identity platon-node --datadir ./data --port 16789  --rpcport 6789 --rpcapi "db,platon,net,web3,admin,personal" --rpc --nodekey ./data/nodekey --cbft.blskey ./data/blskey --verbosity 1 --rpcaddr --syncmode "fast" > ./data/platon.log 2>&1 &

# After rebooting, check the node version in the console: v1.4.2-unstable-382e9431-20231018

$ platon attach http://localhost:6789
Welcome to the PlatON JavaScript console!


4. Version declaration

After the version is declared, you can view the node version in the explorer.

  • For nodes that have not staked, skip this step.

  • For those who have not defined $PLATON_MTOOLDIR, you need to supplement the absolute path according to the actual deployment.

    #Version declaration (example)
    $ platon_mtool declare_version --keystore $PLATON_MTOOLDIR/keystore/staking.json --config $PLATON_MTOOLDIR/validator/validator_config.json

5. Cautions

If your platon upgrade failed, please provide us feedback through the following channels.

  1. WeChat: bilovexin
  2. Telegram validator group
  3. Email: