【手册】PlatON网络1.4.0版本升级操作手册

版本信息

ChainID: 210425

Version: 1.4.0

Git Commit: e11fe5c58e455c1cb637025d2fb167a54af4faf6

二进制下载: https://download.platon.network/platon/platon/1.4.0/platon

1、安装指南

​ 若已安装了PlatON节点,请跳到第2点进行更新操作;

​ 未安装节点,请严格按照官方文档安装,如有需要帮助请联系客服。

2、更新指南(先更新,暂不重启)

​ 以下步骤以 Ubuntu18.04 系统为例,更新操作分为两种方式:直接使用二进制、源码编译,选其中一种方式更新即可;请严格按照以下步骤操作升级,如有需要帮助请联系客服。

  • 直接用二进制

    # 备份二进制
    $ [[ -x /usr/bin/platon ]] && sudo mv /usr/bin/platon /usr/bin/platon_`platon version | grep '^Version:' | awk -F "[ ,:,-]" '{print $3}'`
    # 下载最新的二进制文件
    $ wget https://download.platon.network/platon/platon/1.4.0/platon
    # 使用新的版本
    $ chmod +x platon
    $ sudo mv platon /usr/bin/platon
    # 查看版本
    $ platon version
    Version: 1.4.0-unstable
    Git Commit: e11fe5c58e455c1cb637025d2fb167a54af4faf6
    
  • 源码编译(针对之前已成功编译过的环境,全新编译请参考官网源码安装

    # 备份二进制
    $ [[ -x /usr/bin/platon ]] && sudo mv /usr/bin/platon /usr/bin/platon_`platon version | grep '^Version:' | awk -F "[ ,:,-]" '{print $3}'`
    # 编译二进制
    $ git clone https://github.com/PlatONnetwork/PlatON-Go.git --recursive
    $ cd PlatON-Go/
    $ git fetch --all
    $ git checkout -b platon-1.4.0  e11fe5c58e455c1cb637025d2fb167a54af4faf6
    # 安装依赖和编译,如果出现missing go.sum entry for module,使用go mod tidy移除未使用和添加缺失的依赖
    $ go mod download && make all
    # 使用新的版本
    $ chmod +x build/bin/platon
    $ sudo mv build/bin/platon /usr/bin/platon
    # 查看版本
    $ platon version
    Version: 1.4.0-unstable
    Git Commit: e11fe5c58e455c1cb637025d2fb167a54af4faf6
    

3、择机重启进程

​ 如果当前节点质押过,首先通过区块链浏览器查看节点是否已经被选为验证人(共识中)
如果已经当选,请等待节点退出验证人(共识中转为活跃中)后再进行重启操作。

​ 以下命令仅做参考,根据各自的管理方式,重启platon进程

# 查看进程号
$ ps aux |grep platon
root   13476 39.1 49.7 9174616 3925796 ?     Sl   Feb07 1140:19 /usr/bin/platon  --identity ....

# 停止platon节点,如kill 13476,上述示例中进程号为13476,实际操作时根据实际情况取值;执行kill命令后,可再使用上述ps命令查看进程是否正确退出,若正常退出再执行后续启动命令
$ kill <进程号>

# 启动platon节点
$ 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 127.0.0.1 --syncmode "fast" > ./data/platon.log 2>&1 &

# 重启后进入控制台检查节点版本是否生效:v1.4.0-unstable-e11fe5c5-20230317
$ platon attach http://localhost:6789
Welcome to the PlatON JavaScript console!

instance: PlatONnetwork/x.x.x.x/v1.4.0-unstable-e11fe5c5-20230317/linux-amd64/go1.18.10

4、提案处理

  • 质押过的节点,请通过区块链浏览器查看当前节点是否是以下状态:
  1. 出块中
  2. 共识中
  3. 活跃中

如果当前节点为上述3中状态的一种,请参考以下命令进行投票,提案id为<0x9c97912c786db2e312886356e81ba79e8fb9bff43200d934d28e239f76928a54>:

# 升级提案投票命令示例
$ platon_mtool vote_versionproposal --proposalid 0x9c97912c786db2e312886356e81ba79e8fb9bff43200d934d28e239f76928a54  --keystore $PLATON_MTOOLDIR/keystore/staking.json --config $PLATON_MTOOLDIR/validator/validator_config.json

如果节点状态为“候选中”,则需要做版本声明,请参考以下命令进行版本声明。

#版本声明示例
$ platon_mtool declare_version --keystore $PLATON_MTOOLDIR/keystore/staking.json --config $PLATON_MTOOLDIR/validator/validator_config.json
  • 未质押过的节点,跳过本步骤。
  • 没定义$PLATON_MTOOLDIR的,需要根据实际部署情况补全绝对路径。

5、反馈

platon升级失败的,可通过以下渠道反馈。

  1. 微信 bilovexin
  2. 微信验证节点群
  3. 邮箱 validator@platon.network

这个换行。。整无语了。。

1 个赞

:rofl:确实,我第一次也这样,第二次不知道为啥就不换行了,很神奇

可能是更新ID导致的,我修改下