Links

加入测试网

AIT 教程,Docker 方式加入测试网
注意:
  1. 1.
    本教程仅用于使用 Docker 方式,且为验证者节点。
  2. 2.
    欢迎加入 MoveMove 社区https://discord.gg/sUmS7pm2q2

一、初始化质押池

在 AIT3 中,我们将提供 UI 支持以允许所有者管理质押池,请参阅此处的详细信息,如果您已经通过 UI 完成了此操作,则可以忽略此步骤并跳转到“运行节点”。
本步骤需要等到测试币发放才能执行。(若您没有收到,请关注邮件耐心等待)

1.1 切换钱包网络 Testnet 并检查余额

需要先安装 Petra 钱包插件(必须更新到 0.1.8),并导入之前注册时使用的钱包地址。参考教程:Petra 使用教程
切换到测试网网络后,返回 Home 就能看到余额了。

1.2 参与质押

Aptos 治理页面(需切换到相应的测试网络):https://explorer.devnet.aptos.dev/proposals/staking
  • Staking Amount: 输入100000000000000,需要小于账户余额,并留足够的 gas。
  • Operator Address: 节点名称/operator.yaml 文件中的 operator_account_address。
  • Voter Address: 您的钱包地址。
填写质押的数量和操作者地址、投票者地址(您的钱包地址),并提交(点击提交按钮后,会有弹窗交易签名,点击“Approve”即可):
质押成功页面(可以修改和增加锁定时长):

1.3 给您的 Operator 地址发送一些 APT 测试币

  • 这步是必须的,后面需要检查账户余额,否则会返回错误!!
  • Operator 地址是上一步中的 Operator Address。

二 、运行节点

备份所有文件

防止发生异常时无法恢复,请先备份如下文件,文件目录如下:
docker-compose.yaml
layout.yaml
您的节点名称目录
keys 目录

进入节点操作目录

本教程使用的目录为 ~/aptos-node/testnet3,若您使用的其他教程,请自行修改命令。
cd ~/aptos-node/testnet3

关闭节点并删除数据卷

sudo docker-compose down --volumes

下载 genesis、waypoint 和 测试网 编排文件

sudo wget -O genesis.blob https://github.com/aptos-labs/aptos-genesis-waypoint/raw/main/testnet/genesis.blob
sudo wget -O waypoint.txt https://raw.githubusercontent.com/aptos-labs/aptos-genesis-waypoint/main/testnet/waypoint.txt
sudo wget -O docker-compose.yaml https://raw.githubusercontent.com/jiangydev/aptos-node/main/testnet/AT/docker-compose.yaml

修改 validator-identity.yaml 中的 account_address

文件路径:keys/validator-identity.yaml
只需要修改 account_address,更换成您的钱包地址:

启动节点(Run node)

sudo docker-compose pull
sudo docker-compose up -d
如果您的节点端口不通,请关闭服务器防火墙,并在云服务器提供商的安全策略中放行如下端口:
验证者节点(本教程只提供验证者节点搭建):
  • 6180:validator 的 peer 通信端口;
  • 6181
已关闭 80 API 端口及 9101 指标端口的外网访问,本地可访问。

检查节点

# 查询 chain id,应该返回 47
sudo curl 127.0.0.1:80/v1

三、加入验证者集合

初始化 Aptos CLI

您的操作者私钥 account_private_key 可以从 keys/private-keys.yaml 文件中获得。
# 这个命令中的私钥需要替换!!
sudo docker run --rm \
-v $(pwd):/data/aptos-cli \
jiangydev/aptos-cli:v0.3.4 \
sh -c "cd /data/aptos-cli && rm -rf .aptos && aptos init --profile ait3-operator --private-key 您的私钥 --rest-url https://testnet.aptoslabs.com --skip-faucet"

通过 Aptos CLI 检查余额

如果这一步执行返回异常:API error: API error Error(AccountNotFound): Account not found by Address,请参考 1.3 给您的 Operator 地址发送一些 APT 测试币。
sudo docker run --rm \
-v $(pwd):/data/aptos-cli \
jiangydev/aptos-cli:v0.3.4 \
sh -c "cd /data/aptos-cli && aptos account list --profile ait3-operator"

更新链上Validator网络地址

  • 注意修改命令中的验证者配置文件为“您的节点名称/operator.yaml”,这里我使用的 MoveMove/operator.yaml。
  • 注意修改所有者地址:您的钱包地址!!!
# 需要修改验证者配置文件:您的节点名称/operator.yaml
sudo docker run --rm \
-v $(pwd):/data/aptos-cli \
jiangydev/aptos-cli:v0.3.5 \
sh -c "cd /data/aptos-cli && aptos node update-validator-network-addresses --pool-address 您的钱包地址 --operator-config-file MoveMove/operator.yaml --profile ait3-operator --assume-yes"

更新链上验证者共识 key

# 需要修改验证者配置文件:您的节点名称/operator.yaml
sudo docker run --rm \
-v $(pwd):/data/aptos-cli \
jiangydev/aptos-cli:v0.3.5 \
sh -c "cd /data/aptos-cli && aptos node update-consensus-key --pool-address 您的钱包地址 --operator-config-file MoveMove/operator.yaml --profile ait3-operator --assume-yes"

加入验证者集合

sudo docker run --rm \
-v $(pwd):/data/aptos-cli \
jiangydev/aptos-cli:v0.3.5 \
sh -c "cd /data/aptos-cli && aptos node join-validator-set --pool-address 您的钱包地址 --profile ait3-operator --max-gas 5000 --assume-yes"

检查验证者集合

方式一

https://explorer.devnet.aptos.dev/account/<你的地址>?network=testnet
可以看到 Stake 相关的资源和交易。

方式二

# 需要先安装 jq,如果已安装,可跳过
sudo apt install -y jq
在安装 jq 后,可以查询加入中的验证者
sudo docker run --rm \
-v $(pwd):/data/aptos-cli \
jiangydev/aptos-cli:v0.3.4 \
sh -c "cd /data/aptos-cli && aptos node show-validator-set --profile ait3-operator" \
| jq -r '.Result.pending_active' \
| grep '您的钱包地址'
查询已加入的验证者
sudo docker run --rm \
-v $(pwd):/data/aptos-cli \
jiangydev/aptos-cli:v0.3.4 \
sh -c "cd /data/aptos-cli && aptos node show-validator-set --profile ait3-operator" \
| jq -r '.Result.active_validators' \
| grep '您的钱包地址'

四、验证节点连接

一旦您的验证器节点加入验证器集,您可以按照以下步骤验证正确性:

验证 Peer

验证您的节点是否正在连接到测试网上的其他对等点,127.0.0.1(如果部署在云上,请替换为您的验证器 IP/DNS)
curl 127.0.0.1:9101/metrics 2> /dev/null | grep "aptos_connections{.*\"Validator\".*}"
该命令将输出验证器节点的入站和出站连接数。
只要其中一个指标大于零,您的节点就会连接到测试网上的至少一个对等节点。

是否连接到 AptosLabs 节点

您还可以检查您的节点是否连接到 AptosLabs 的节点,替换<Aptos Peer ID>为 Aptos 团队共享的 peer ID。
curl 127.0.0.1:9101/metrics 2> /dev/null \
| grep "aptos_network_peer_connected{.*remote_peer_id=\"f326fd30\".*}"

检查共识

一旦您的节点状态同步到最新版本,您还可以检查共识是否正在取得进展,以及您的节点是否正在提议
curl 127.0.0.1:9101/metrics 2> /dev/null \
| grep "aptos_consensus_current_round"
curl 127.0.0.1:9101/metrics 2> /dev/null \
| grep "aptos_consensus_proposals_count"
您应该期望看到这个数字不断增加。
欢迎加入 MoveMove 社区https://discord.gg/sUmS7pm2q2