# 矿工升级教程

TOP 主网现已全面升级至 1.2.7 版本,现有矿工需要将 TOPIO 升级,以便继续获取收益。

# 准备工作

对于非 root 用户,需要添加管理员权限(root 用户可跳过此准备工作)。

  1. 判断自己是否为 root 用户:

    连接至云主机后,登录用户显示为 [root@xxxx ~],以 root 开头则为 root 用户,否则为非 root 用户。

  2. 对于非 root 用户,在命令行中执行以下命令。

    sudo -v
    
    • 若执行后无任何返回内容,则说明您已具备相应权限,可跳过添加权限步骤,继续后续的升级过程。
    • 若执行后返回 Sorry, user xxxx may not run sudo on localhost.,则说明您需要添加相应权限。
  3. 若您需要添加相应权限,则需要在命令行中执行以下命令,以切换至 root 用户登录。

    su - root
    
  4. 登录后根据您的系统类型执行以下命令,添加权限。执行后若无任何返回内容,则说明执行成功。

    • 如果您的系统为 CentOS,执行:

      sudo usermod 您的登录用户名 -a -G wheel
      
    • 如果您的系统为 Ubuntu,执行:

      sudo usermod 您的登录用户名 -a -G sudo
      

# 升级步骤

  1. 打开 SSH 终端,并连接至您的云主机。

  2. 在 SSH 终端中运行以下命令,检查跟目录剩余磁盘空间是否大于 40G,若不足 40G 则有可能无法下载 DB_V3:

    df -h
    

    返回示例如下:

    return

    其中 Mounted on 一列内容为“/”的目录即为根目录,Avail 列对应的数值即为剩余可用空间。

    上图中的根目录为 /dev/vda1,剩余可用空间为 81G,符合要求。

  3. (可选)如果您的剩余磁盘空间无法满足要求,您可根据 第 7 步 中的命令删除旧版数据库以释放磁盘空间。

    虽然您可以先删除旧数据库再下载 DB_V3,但如果您拥有足够的磁盘空间,我们仍推荐先完成升级再删除旧数据。

  4. 在 SSH 终端中运行以下命令:

    ps -ef |grep topio|grep -v 'grep'|awk '{print $2}'|xargs kill -9
    wget https://github.com/telosprotocol/TOP-chain/releases/download/v1.2.7/topio-1.2.7-release.tar.gz -O topio-1.2.7-release.tar.gz && tar zxvf topio-1.2.7-release.tar.gz && cd topio-1.2.7-release && sudo bash install.sh && source /etc/profile && ulimit -n 65535  && topio -v
    topio db download https://top-mainnet-space.nyc3.digitaloceanspaces.com/db_20211231_v3_1ab9d50b07e651544a607161e6485955.tar.gz
    topio node startnode
    

    该命令包含了以下内容:

    • 结束旧版 TOPIO 进程

    • 下载并安装最新版 TOPIO

    • 验证 TOPIO 是否安装成功。在返回信息中,如果包含以下内容,则证明安装成功:

      topio version: 1.2.7
      git commit info: 7234bf5
      git submodule: xtopcom/xbase:e8ead28|xtopcom/xdepends:415349d|xtopcom/xvm:3cb09a9
      build date: Jan 10 2022 20:04:09
      build options: release
      MD5:a52ad3c8970f779d6a6152ab9d6c57d2
      
    • 下载 DB_V3。在返回信息中,如果下载进度为 100%,且包含以下内容,则证明 DB_V3 下载成功:

      download database ok.
      
      md5sum check ok.
      
    • 重新启动节点进程。在返回信息中,如果包含以下内容,则证明节点进程启动成功。

      Start node successfully.
      
  5. (可选)执行以下命令查询节点是否成功加入网络。

    topio node isJoined
    
    • 若返回"YES",则节点成功入网,进入节点候选池,等待选举。

    • 若返回"No",则节点入网失败,可能因为网络故障,网络抖动。

    稍等 1~2 分钟后,您可以前往 TOP Network 区块浏览器 TOPScan (opens new window) 查询节点当选信息。

  6. (可选)您还可执行以下命令查询矿工注册信息。

    在该命令后方加上您的 TOP 账户地址,以空格隔开。

    topio mining getMinerInfo
    

    返回结果如下:

    • 若返回 Not elected to any node role.,则说明已注册成为高级矿工,但尚未被选举成为任何节点。
    • 若返回 Elected as auditor, archiver.,则说明已注册成为高级矿工,并已被选为 auditor 和 archive 节点。
  7. (可选)若您需要释放磁盘空间,可执行以下命令删除旧版数据库。

    cd $TOPIO_HOME && rm -rf db_v2 db