PlatON Network
Published in

PlatON Network

PlatON Network node upgrade instructions — V1.1.2

Version Info
ChainID: 100
Version: 1.1.2
Git Commit: f0ee9f487c4abee9de032f40641f7f7a6e69bdce
Binary Document:
https://download.platon.network/platon/platon/1.1.2/platon

1. Upgrade Instructions

If you are using the 1.1.1 version, please to Step 3 for the upgrade.

$ platon version
Version: 1.1.2-unstable
Git Commit: f0ee9f487c4abee9de032f40641f7f7a6e69bdce

2. Upgrade Notice

The following notices are for the upgrade from 1.1.0 to 1.1.1. However, if you didn’t upgrade to 1.1.1, you could also directly upgrade to 1.1.2. Even so, these reminders would also be helpful.

2.1 About CPU, RAM and Disk

During the upgrade, part of the historical data will be migrated to the Freezer database. This will take up more CPU utility, which will return to normal upon completed data migration. When your device is rebooted after the upgrade, in rare cases, you may experience increased RAM use, which will also normalize once the data is migrated. The upgrade will also occupy more storage. For instance, the upgrade at block height 16,200,000 will take up approximately 8GB additional storage space. For more details, please refer to Github releases.

  • RAM upgrade
    During the upgrade and rebooting process, there is a small chance that validators using 8GB RAMs will suffer OOM due to the increased RAM use. To avoid the potential OOM problem, we recommend creating a swap partition or upgrading to 16GB RAM (if possible).
  • Add a swap partition
wget https://download.platon.network/platon/scripts/platon_swap.sh
chmod +x platon_swap.sh
./platon_swap.sh
  • Notice:
  1. The ‘platon_swap.sh’ script provided in the document will carry out the following process: Where there is no swap partition, the script will create an 8GB swap partition; where the swap partition is smaller than 7GB, the script will expand it to 8GB; where the swap partition is larger than 7GB, the script will remain inactive.
  2. Validators who carried out the upgrade without expanding their RAM could experience OOM, which will result in connection failures. For such users, the activation process will resume once their device is rebooted.
  • Disk expansion
  • The upgrade will take up 8GB additional disk space; where the storage is insufficient, we recommend expanding the disk capacity.

2.2 Incompatibility

After the present validator upgrade, you can no longer use the 1.1.0 version and the upgraded data for activation. Validators are advised to download the backup data we provided and have it stored on your validator PC before the upgrade. In case of failed activation after the upgrade, you will need to use the 1.1.0 version and data for activation.

  • The fast model backup data is 11GB big, at the block height of 18,403,681. In case of failed activation, the backup data will be used to replace the data/platon directory.
wget https://download.platon.network/platon/nodedata/1.1.0-fast-data.tar.gz
tar -xf 1.1.0-fast-data.tar.gz

3. Upgrade Instructions (upgrade without rebooting)

The following instructions are based on the Ubuntu18.04 system. You could complete the upgrade directly through the binary document or source code compiling. Please carry out the upgrade in strict accordance with the following procedures. If you need any help, feel free to reach out to us through our customer service.

  • Directly activate the binary document
# Make a binary backup
$ [[ -x /usr/bin/platon ]] && sudo mv /usr/bin/platon /usr/bin/platon_`platon version | grep ‘^Version:’ | awk -F “[ ,:,-]” ‘{print $3}’`
# Download the latest binary document
$ wget https://download.platon.network/platon/platon/1.1.2/platon
# Use the latest version of alaya
$ chmod +x platon
$ sudo mv platon /usr/bin/platon
# Check the version
$ platon version
Version: 1.1.2-unstable
Git Commit: f0ee9f487c4abee9de032f40641f7f7a6e69bdce
  • Source code compiling (The following is intended for previously complied environments. For new compiling, please refer to our official website.)
# Make a binary backup
$ [[ -x /usr/bin/platon ]] && sudo mv /usr/bin/platon /usr/bin/platon_`platon version | grep ‘^Version:’ | awk -F “[ ,:,-]” ‘{print $3}’`
# Compile the binary document
$ git clone https://github.com/PlatONnetwork/PlatON-Go.git — recursive
$ cd PlatON-Go/
$ git fetch — all
$ git checkout -b platon-1.1.2 f0ee9f487c4abee9de032f40641f7f7a6e69bdce
# In case of missing go.sum entry for module, please use go mod tidy to remove unused dependencies and add the missing ones.
$ go mod download && make all
# Use the latest version of Alaya
$ chmod +x build/bin/platon
$ sudo mv build/bin/platon /usr/bin/platon
# Check the version
$ platon version
Version: 1.1.2-unstable
Git Commit: f0ee9f487c4abee9de032f40641f7f7a6e69bdce

4. When to Reboot the PlatON Process

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

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

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

5. Version Statement

After the version statement is released, you could check the validator version on the PlatON Blockchain Explorer.

# Example of version statement
$ platon_mtool declare_version --keystore $PLATON_MTOOLDIR/keystore/staking.json --config $PLATON_MTOOLDIR/validator/validator_config.json
  • Validators who never staked before could skip this step.
  • Where $ALAYA_MTOOLDIR is not defined, the absolute path should be completed according to the actual deployment.

6. Feedback

If your PlatON upgrade failed, please provide us feedback in the following channels.

  1. WeChat: Colinan
  2. Telegram validator group
  3. Email: validator@platon.network

An infrastructure for privacy-preserving computation and distributed economies.

Recommended from Medium

Classes, Constraints, Events and more in v0.14

100 Days of Code  —  Python

Integration of AWS(EC2, S3 & CloudFront) with Terraform

Numpy Sort, Filter and Search

TiDB Internal (II) — Computing

Building a Beautiful Static Webpage Using GitHub

A beginners guide to implement Android Animations — Part 1 (2 part series)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
PlatON Network

PlatON Network

PlatON — An Infrastructure for Privacy-Preserving Computation and Distributed Economies.

More from Medium

[Manual] Alaya Network 0.16.2 (Spirit) Version Upgrade Operation Manual

Connext 8848 Community AMA

DeSyn Protocol and Duet Protocol Reached a Technical Partnership

Other DEXs Versus QuickSwap DEX!