# 矿工更换服务器教程

本文档介绍矿工如何更换服务器。

# 准备工作

在更换服务器前,您需要做以下准备工作:

  1. 配置新服务器

  2. 在新采购的服务器中 安装 TOPIO

如果您已配置好新的服务器并安装完成 TOPIO,可跳过准备工作,直接开始 更换服务器

# 1. 配置新服务器

配置一台新的服务器用于运行 TOPIO。建议您租用云服务器,然后在您个人计算机上通过 SSH 终端远程访问。

操作系统要求

操作系统 版本
Linux CentOS 7,64 位,内核 3.10 及以上版本(含 CentOS 8)
Ubuntu 16.04,64 位,内核 4.4 及以上版本

服务器最低配置

不同的类型矿工对服务器的配置要求不同,最低配置请参见下表。

矿工类型 最低硬件配置
边缘矿工(edge) 1CPU/1GB mem 40GB SSD 100Mb/s
验证矿工(validator) 2CPU/2GB mem 60GB SSD 100Mb/s
高级矿工(advance) 2CPU/4GB mem 100GB SSD 200Mb/s
全节点矿工(Full Node) 2CPU/4GB mem 100GB SSD 200Mb/s

配置流入端口

请对以下端口流入公网放行,否则节点将无法加入 TOP Network 网络:

  • TCP:9000、19081、19082、19085
  • UDP:9000

# 2. 安装 TOPIO

# 安装 wget 下载工具

连接新服务器,在 SSH 终端页面执行以下命令安装 wget 下载工具。

CentOS 和 Ubuntu 安装命令分别如下,根据您的服务器操作系统使用相应的命令。

  • CentOS

    sudo yum install wget -y
    
  • Ubuntu

    sudo apt install wget -y
    

# 下载并安装 TOPIO

执行以下命令下载并安装 TOPIO。

wget https://github.com/telosprotocol/TOP-chain/releases/download/v1.2.3/topio-1.2.3-release.tar.gz -O topio-1.2.3-release.tar.gz && tar zxvf topio-1.2.3-release.tar.gz && cd topio-1.2.3-release && sudo sh install.sh

当安装页面打印以下内容时,安装完毕:

install topio done
now run command to check md5: topio -v
now run command for help info: topio -h

此时需验证安装是否成功。

验证安装结果

在命令行中执行 topio -v,如果输出以下信息,则证明安装成功:

topio version: 1.2.3
git commit info: 442ffaa2
git submodule: xtopcom/xbase:12eecba|xtopcom/xdepends:415349d|xtopcom/xvm:f5248d1
build date: Jul 24 2021 06:50:03
MD5:3864a97e472185ed8cb7386d99732576

# 更换服务器

准备工作完成后,即可开始更换服务器。

# 1. 在旧服务器中导出私钥

  1. 在旧服务器的 TOPIO 中运行 topio wallet exportAccount,随后会打印钱包私钥和 keystore 文件内容。

    样例如下:

    Export successfully.
    
    Keystore file: /root/topnetwork/keystore/T80000968927100f3cb7b23e8d477298311648978d8613
    Account Address: T80000968927100f3cb7b23e8d477298311648978d8613
    Private-Key: b0032f8057051b611a7c0ea373da4d7a6764351030ed497e6134fd9e11775b19
    
    {
       "account_address" : "T80000968927100f3cb7b23e8d477298311648978d8613",
       "address" : "968927100f3cb7b23e8d477298311648978d8613",
       "crypto" : {
          "cipher" : "aes-128-ctr",
          "cipherparams" : {
             "iv" : "e40a554c807b913c6e882e933ee6c103"
          },
          "ciphertext" : "762381ac2219511c647d27424761e81fecc14170eeff6e20412d6c9311149060",
          "kdf" : "scrypt",
          "kdfparams" : {
             "dklen" : 32,
             "n" : 262144,
             "p" : 1,
             "r" : 8,
             "salt" : "69c473d9a1ae16ad7cbab057101ccb9632d4109bf7f44e7ff2eba59e269f9932"
          },
          "mac" : "7d3c31b6aa3f43885682259e6e632b44799700cc7030bdbc1dddb2f587066dac"
       },
       "hint" : "",
       "id" : "b2951865-c391-9d98-ff85-83e149f88990",
       "key_type" : "owner",
       "public_key" : "BK2CfxnSP0cL9/dbi6b3krWUlQP1jP4EIHu5Y5c2vMBNLMYMOE8K3mqOubDPQXBXc/D4ydtR0LDyWUEyxHO/ZZU=",
       "version" : 3
    }
    
  2. 将打印的钱包私钥和 keystore 文件内容复制到本地进行保存。

    其中:

    • Keystore file 为 keystore 文件在旧服务器中的存储路径。
    • Account Address 为钱包地址。
    • Private-Key 为您的钱包私钥。
    • 花括号 { } 中的内容为 keystore 文件内容。

在本地妥善保存钱包私钥和 keystore 文件内容后,即可前往新服务器进行导入。

# 2. 在新服务器中导入私钥

  1. 运行导入私钥命令

    在新服务器的 TOPIO 中运行 topio wallet importAccount -p 导入私钥。

  2. 设置密码

    当页面中显示如下内容时,设置密码(需输入两次)。

    Please set a password for new worker keystore file. The password must consist of Numbers and Letters, 8 to 16 characters.
    
  3. 输入私钥

    设置完密码后,当页面中显示如下内容时,输入您从旧服务器中导出的私钥(Private-Key),支持粘贴。

    Please input private key.
    
  4. 按 Enter 运行后,页面打印如下内容:

    Successfully import an account.
    

    并会打印地址以及公钥,此时账户已成功导入至新服务器中。

# 3. 启动节点

成功导入账户后,需要启动节点进程,即可重新开始挖矿。

在 TOPIO 中执行以下命令以启动节点进程:

topio node startNode

若返回以下信息,则成功启动节点进程。

Start node successfully.

执行以下命令查询节点是否成功加入网络。

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

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