Aptos二期测试网搭建攻略

0. 前言

本文的范围仅针对节点搭建,不包括如何在社区注册,如何Kyc的内容。

节点搭建的时间表:

  • 注册开始:6月30日。

  • 社区投票分享:7月5日。

  • 注册结束:7月7日

  • 通知结果:7月11日。

  • 测试网上线:7月12日。

  • 测试网结束:7月22日。

节点必须在7月7日前注册好。

1. 准备一台Linux云主机

这一部分比较简单,可自行前往amazon,阿里云等公有云提供者处购买一台,镜像(系统)选择Ubuntu 20.04服务器版。

对于小白,推荐采用直接在浏览器上登录云主机,这样不需要担心ssh客户端的配置问题。尤其是针对windows用户,在浏览器上直接操作云主机,简直不要太简单。

2. 安装配置

登录到云主机之后,就可以开始配置了。配置有几种办法,从源代码安装,从docker安装,甚至有针对AWS主机的配置方法。我推荐采用docker安装,这样的话能够适用于各种云主机,

  • 在主机上安装Docker,命令直接逐行复制,依次运行一下即可。

    sudo apt-get update
    
    sudo apt-get install ca-certificates curl gnupg lsb-release
    
    sudo mkdir -p /etc/apt/keyrings
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    sudo apt-get update
    
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    

以上命令全部运行成功之后,docker就装好了。

  • 在主机上安装aptos的客户端工具

    sudo apt-get install unzip
    
    cd ~
    
    mkdir ~/aptos && cd ~/aptos
    
    wget https://github.com/aptos-labs/aptos-core/releases/download/aptos-cli-0.2.0/aptos-cli-0.2.0-Ubuntu-x86_64.zip
    
    unzip aptos-cli-0.2.0-Ubuntu-x86_64.zip
    
    echo "export PATH=$PATH:~/aptos/" >> ~/.bashrc
    
    exit
    

以上命令会布置好aptos,退出当前窗口,重新登录进入。

  • 再次登录之后,直接在命令行输入aptos,这时应该看到如下输出:

post image

这样docker和aptos客户端的配置就弄好。接下来就该配置节点了。

  • 节点配置

    基本上可以参考官方文档,写的非常清楚:

    https://aptos.dev/nodes/validator-node/run-validator-node-using-docker

    export WORKSPACE=testnet
    
    mkdir ~/$WORKSPACE
    
    cd ~/$WORKSPACE
    
    wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/docker-compose.yaml
    
    wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/validator.yaml
    
    aptos genesis generate-keys --output-dir ~/$WORKSPACE
    
    aptos genesis set-validator-configuration --keys-dir ~/$WORKSPACE --local-repository-dir ~/$WORKSPACE --username YOURNAME --validator-host YOURIP:6180
    # 注意,请把YOURNAME改成你的名字,例如reer
    # 注意,请把YOURIP改成你的云主机的公网IP地址,例如43.240.1.110
    
    vi layout.yaml
    # 打开一个编辑窗口,按“i”键进入编辑模式,粘贴以下内容
    
    ---
    root_key: "F22409A93D1CD12D2FC92B5F8EB84CDCD24C348E32B3E7A720F3D2E288E63394"
    users:
      - "YOURNAME"
    chain_id: 40
    min_stake: 0
    max_stake: 100000
    min_lockup_duration_secs: 0
    max_lockup_duration_secs: 2592000
    epoch_duration_secs: 86400
    initial_lockup_timestamp: 1656615600
    min_price_per_gas_unit: 1
    allow_new_validators: true
    
    # 注意,YOURNAME跟上面的YOURNAME必须一致。
    # 粘贴完毕之后,请按ESC键退出编辑模式,然后按冒号":"进入命令模式,输入wq,回车,即可保存文件然后退出。继续下面的命令
    
    wget https://github.com/aptos-labs/aptos-core/releases/download/aptos-framework-v0.2.0/framework.zip
    
    unzip framework.zip
    
    aptos genesis generate-genesis --local-repository-dir ~/$WORKSPACE --output-dir ~/$WORKSPACE
    

就此大功告成,节点配置完成。带#号的部分是提示,不要复制。

  • 运行节点

    sudo docker compose up -d
    
    # 运行成功以后,若想看日志
    
    sudo docker compose logs -f
    
    # 日志会不停输出,按Ctrl + C键退出。
    

3. 验证是否正确

打开https://aptos-node.info,按图所示输入公网IP,端口号,点击搜索

post image

结果如下表示配置正常。

4. 在以下地址录入你的节点信息:

https://community.aptoslabs.com/it2

所有的信息都从YOURNAME.yaml文件中来,其中包含了很多公钥。

post image

CONSENSUS KEY <-- consensus_public_key

ACCOUNT KEY <-- account_public_key

VALIDATOR NETWORK KEY <-- validator_network_public_key

填完如下所示:

post image

Fullnode可不填,不用管。然后就直接点击右边的VALIDATE NODE来验证节点配置是否正确。一两分钟之后,应该会返回结果。结果正常的话显示如下:

post image

如果是其他内容,则说明有错误,需要仔细检查。有一个常见但难以发觉的问题是:

post image

这里面的问题是“TRANSACTION_EXPIRED”,实际上是节点的时间配置不正确。可用命令timedatectl查看一下当前机器的时间和时区是否配置正确,如果时间错误,则可能需要重新进行设置。

设置时区,以设置中国时区为例:

sudo timedatectl set-timezone Asia/Shanghai

设置日期和时间:

sudo date -s “20220704 22:10:10”

当时间一致后,再重新启动节点:

sudo docker compose restart

再验证节点即可。如有问题,请多试几次。

节点搭建就是这样,没什么难度,有问题,请twitter联系@miscab