Aptos项目申请参加AIT2激励测试网教程--Docker方式部署验证者节点

  • 目录

    1. 一 申请流程

    2. 二 清除aptos项目docker-compose历史数据

    3. 三 Ubuntu机器docker-compose方式部署验证者节点教程

    4. 四 Ubuntu机器docker-compose方式部署全节点节点教程(可选项)

    5. 五 技术支持~Ubuntu机器部署docker-compose教程

一 申请流程

  1. 步骤1: 拥有一个Discord账户,并且已经加入Discord的 Aptos server 群组。

  2. 步骤2: 游览器打开 https://community.aptoslabs.com/ (CONNECT DISCORD)使用Discord创建和登入Aptos官网的web账户,设置Aptos官网的web账户的名字,进行邮箱验证。

  3. 步骤3: 游览器打开 https://community.aptoslabs.com/it2 (COMPLETE SURVEY)填写表格,关于自己的一些信息,完成官方对你的调查。

  4. 步骤4: 部署验证者节点,如下所示 -- ## 二 Ubuntu机器docker-compose方式部署验证者节点教程

  5. 步骤5: 游览器打开 https://community.aptoslabs.com/it2 (NODE REGISTRATION) 在官网上注册节点。

  6. 步骤6: 游览器打开 https://community.aptoslabs.com/it2 身份验证。

二 清除aptos项目docker-compose历史数据

  • 如果之前使用docker-compose部署过aptos验证者节点,则可以使用以下步骤清除数据,之后再进行重新部署。

  • 如果之前没有使用docker-compose部署过,则忽略此步骤。

docker-compose down # 在原来的目录下执行这个操作,删除原来的容器
docker volume prune # 清除所有的未被使用到的容器数据
# 如果你的服务器上只部署了aptos验证者节点,那么执行完容器删除和容器数据删除操作后,再执行 docker volume ls 则只会显现 DRIVER    VOLUME NAME。

三 Ubuntu机器docker-compose方式部署验证者节点教程

  • 最低硬件配置

    • CPU: 4 cores (Intel Xeon Skylake or newer).

    • Memory: 8GiB RAM.

    • 300GB

  1. 安装 aptos 的CLI指令

    # 参考 https://github.com/aptos-labs/aptos-core/blob/main/crates/aptos/README.md
    sudo su -
    apt install unzip
    wget -qO aptos-cli.zip https://github.com/aptos-labs/aptos-core/releases/download/aptos-cli-0.2.0/aptos-cli-0.2.0-Ubuntu-x86_64.zip
    unzip -o aptos-cli.zip -d /usr/local/bin
    chmod +x /usr/local/bin/aptos
    rm aptos-cli.zip
    aptos --help
    
  2. 设置工作目录

    export WORKSPACE=~/aptos/testnet/
    mkdir -p $WORKSPACE
    cd $WORKSPACE
    
  3. 下载docker-compose的yaml文件

    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
    # 工作目录下新增两个文件 docker-compose.yaml 和 validator.yaml
    
  4. 生成密钥对 这个步骤生成的是三个私钥,对应三个文件,请务必保存备份好这三个文件,不要泄露给任何人

    # 4. 生成密钥对(node owner key, consensus key and networking key)
    aptos genesis generate-keys --output-dir $WORKSPACE
    # 工作目录下新增三个文件 private-keys.yaml, validator-identity.yaml, validator-full-node-identity.yaml
    
  5. 配置验证者节点信息 ${node_username}.yaml文件内的公钥在官网注册节点时需要使用到

    IP=服务器公网IP
    node_username=aptosbot # 可以自定义节点的名称
    # 5. 配置validator信息
    aptos genesis set-validator-configuration \
        --keys-dir ${WORKSPACE} --local-repository-dir ${WORKSPACE} \
        --username ${node_username} \
        --validator-host ${IP}:6180 \
        --full-node-host ${IP}:6182
    # 工作目录下新增一个文件 ${node_username}.yaml 文件
    
  6. 创建layout.yaml文件

    • vi layout.yaml

    • 请修改layout.yaml里面的${node_username}为自己的 node_username

    ---
    root_key: "F22409A93D1CD12D2FC92B5F8EB84CDCD24C348E32B3E7A720F3D2E288E63394"
    users:
    - "${node_username}"
    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
    
    • 工作目录下新增一个文件 layout.yaml

  7. 下载AptosFramework

    wget wget https://github.com/aptos-labs/aptos-core/releases/download/aptos-framework-v0.2.0/framework.zip
    unzip framework.zip
    # 工作目录下新增一个文件夹 framework
    
  8. 编译 genesis blob 和 waypoint

    aptos genesis generate-genesis --local-repository-dir ${WORKSPACE} --output-dir ${WORKSPACE}
    # 工作目录下新增两个文件 genesis.blob 和 waypoint.txt
    
  9. 查看工作目录下是否有这10个文件

    1. validator.yaml

    2. docker-compose.yaml

    3. private-keys.yaml

    4. validator-identity.yaml

    5. validator-full-node-identity.yaml

    6. ${node_username}.yaml

    7. layout.yaml

    8. framework 文件夹

    9. waypoint.txt

    10. genesis.blob

  10. 启动验证者节点

    docker-compose up -d
    
  11. 验证者节点默认监听的端口

    • validator_host 6180 P2P端口

    • validator_host 6181

    • validator_host 9101 Metrics端口

    • validator_host 80 API端口

  12. 查看验证者节点部署成功与否

    • 5分钟后查看块高是否正常增长 curl http://127.0.0.1:80

    • 如果块高没有正常增长则查看日志的报错 docker-compose logs -f --tail 100

  13. 在官网上注册节点时需要使用到的信息

    1. 验证者的公钥,在文件${node_username}.yaml内 consensus_public_key、account_public_key、validator_network_public_key

    2. 验证者节点的IP

    3. 验证者节点端口,注意自己核对一下这些端口

      1. VALIDATOR (NOISE) PORT 6180

      2. METRICS PORT 9101

      3. API PORT 80

四 Ubuntu机器docker-compose方式部署全节点节点教程(可选项

  • 申请参加激励测试网时,部署全节点节点是可选项,可以不部署,如果想部署的话,则将全节点部署在另一台服务器上。

  1. 下载全节点配置文件

    wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/docker-compose-fullnode.yaml
    wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/fullnode.yaml
    
  2. 更改 fullnode.yaml 文件内的<Validator IP Address>字段为自己的验证者节点IP。

  3. 从验证者节点机器上拷贝 validator-full-node-identity.yaml, genesis.blob 和 waypoint.txt 文件进入这台机器。

  4. 启动全节点程序 docker-compose up -d -f docker-compose-fullnode.yaml

  5. 程序默认监听的端口

    • full_node_host 6182 P2P端口

    • full_node_host 9101 Metrics端口

    • validator_host 80 API端口

五 技术支持~Ubuntu机器部署docker-compose教程

sudo su -
apt update
apt install docker
curl -L https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-linux-x86_64 -o /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose