连接到网络
本文档描述了如何将您的验证者节点和验证者全节点(VFN)连接到 Aptos 网络.
从高层次来看,将节点连接到 Aptos 网络需要四个步骤:
-
初始化质押池(stake pool)
首先,您需要初始化质押池.
-
加入验证者集合(validator set)
其次,您需要加入验证者集合.
-
更新身份(identities)
第三,您需要更新节点身份配置以匹配质押池地址.
-
引导节点(Bootstrap)
最后,您需要引导节点,以便它们可以连接到网络并开始同步.
我们将在下面详细说明每一步.
初始化质押池
Section titled “初始化质押池”首先,您需要为节点初始化质押池.您可以初始化两种类型的池 ———— 质押池或委托池.您可以在质押和委托质押部分阅读有关这些池之间差异的更多信息.
要初始化质押池,请按照质押池操作中的说明进行.如果是要初始化委托池,请按照委托池操作中的说明进行.
加入验证者集合
Section titled “加入验证者集合”接下来,您需要加入验证者集合.请按照以下步骤操作:
1. 初始化 Aptos CLI
Section titled “1. 初始化 Aptos CLI”首先,使用您的运营者账户私钥初始化 Aptos CLI.这可以在 private-keys.yaml
文件下的 account_private_key
条目中找到.
将下面命令中的 <operator_account_private_key>
替换为文件中的值,并运行:
aptos init --profile mainnet-operator \ --network mainnet \ --private-key <operator_account_private_key> \ --skip-faucet
2. 检查账户余额
Section titled “2. 检查账户余额”接下来,确保您有足够的资金支付网络上的交易手续费.您可以通过 CLI 运行下面的命令来检查:
aptos account list --profile mainnet-operator
这将显示您的验证账户中的代币余额.您将看到类似以下的输出:
"coin": { "value": "5000"}
3. 更新链上网络地址
Section titled “3. 更新链上网络地址”接下来,您需要更新验证器和 VFN 的网络地址.这是为了确保您的节点能够连接到网络中的其他对等节点(peer).首先,通过运行下面的命令获取节点的池地址. 注意:所有者地址(owner_address)是拥有质押池账户的地址,并用于初始化质押池.
aptos node get-stake-pool --owner-address <owner_address>
根据上面的命令得到的池地址,您需要为您的节点更新网络地址.这可以通过执行以下命令完成.需要注意的是,执行这个操作需要使用到 operator.yaml
文件,这个文件是在您第一次部署节点时生成的.
aptos node update-validator-network-addresses \ --pool-address <pool-address> \ --operator-config-file ~/$WORKSPACE/$USERNAME/operator.yaml \ --profile mainnet-operator
4. 更新链上共识密钥
Section titled “4. 更新链上共识密钥”接下来,您需要更新节点的共识密钥.这是为了确保您的节点能够参与共识.您可以通过运行下面的命令来完成.注意,它需要池地址和 operator.yaml
文件(与上述类似).
aptos node update-consensus-key \ --pool-address <pool-address> \ --operator-config-file ~/$WORKSPACE/$USERNAME/operator.yaml \ --profile mainnet-operator
5. 加入验证者集合
Section titled “5. 加入验证者集合”最后,您需要加入验证者集合.您可以通过运行下面的命令来完成:
aptos node join-validator-set \ --pool-address <pool-address> \ --profile mainnet-operator
在区块链中,验证节点集合(validator set)是在每个纪元(epoch)结束时进行更新的.因此,您需要等到下一个纪元开始,您的验证者节点才有机会加入这个集合.
6. 检查验证者集合
Section titled “6. 检查验证者集合”当您执行加入验证者集合的命令时,您的验证者节点将处于“待激活”状态,直到下一个纪元发生.您可以运行下面的命令,在 pending_active
列表中查找您的验证者节点.
aptos node show-validator-set --profile mainnet-operator | jq -r '.Result.pending_active' | grep <pool_address>
当下一个纪元到来时,节点将被移入 active_validators
列表.运行下面的命令,在 “active_validators” 列表中查看您的验证节点:
aptos node show-validator-set --profile mainnet-operator | jq -r '.Result.active_validators' | grep <pool_address>
成为验证者集合的一部分后,您需要更新节点的身份认证配置,使其与池地址相匹配.这一步骤对于保证您的节点能够与区块链网络中的对等节点(peer)顺利连接是必不可少的.
根据您使用的部署方法,按照以下步骤更新您的节点身份配置.
如果您使用源代码部署节点,请按照以下步骤操作:
- 停止您的验证节点和 VFN,并从两个节点中删除数据目录.确保同时删除验证节点上的
secure-data.json
文件.您可以在验证者节点的配置文件中看到secure-data.json
文件的位置. - 在
validator-identity.yaml
和validator-fullnode-identity.yaml
文件中将您的account_address
更新为您的池地址.不要更改其他任何内容. - 重新启动验证者节点和 VFN.
使用 Docker
Section titled “使用 Docker”如果您使用 Docker 部署节点,请按照以下步骤操作:
- 停止您的节点并删除数据卷:
docker compose down --volumes
.确保同时删除验证者节点上的secure-data.json
文件.您可以在验证节点的配置文件中看到secure-data.json
文件的位置. - 在
validator-identity.yaml
和validator-fullnode-identity.yaml
文件中将您的account_address
更新为您的池地址.不要更改其他任何内容. - 使用:
docker compose up
重新启动节点.
使用 Terraform
Section titled “使用 Terraform”如果您使用 Terraform 部署节点(例如,对于 AWS,Azure 或 GCP),请按照以下步骤操作:
-
在 Terraform 配置中增加
era
编号.应用此配置时,将清除数据. -
在您的 terraform 模块中设置
enable_monitoring
变量.例如:module "aptos-node" {...enable_monitoring = trueutility_instance_num = 3 # 这将添加一个额外的实用程序实例来运行监控组件} -
使用:
terraform apply
应用更改.您将看到创建了一个新的 pod.运行kubectl get pods
进行检查. -
使用以下命令找到监控负载均衡器的 IP/DNS:
Terminal window kubectl get svc ${WORKSPACE}-mon-aptos-monitoring --output jsonpath='{.status.loadBalancer.ingress[0]}'您将能够通过
http://<ip/DNS>
访问 Terraform 仪表板. -
拉取最新的 terraform 模块
terraform get -update
,然后应用 Terraform:terraform apply
. -
下载您的网络的
genesis.blob
和waypoint.txt
文件.查看节点文件了解下载这些文件的位置和命令. -
在
validator-identity.yaml
和validator-fullnode-identity.yaml
文件中将您的account_address
更新为您的池地址.不要更改其他任何内容. -
重新创建密钥.确保密钥名称与您的
era
编号匹配,例如,如果您有era = 3
,则应将密钥名称替换为:
${WORKSPACE}-aptos-node-0-genesis-e3
export WORKSPACE=<您的工作空间名称>
kubectl create secret generic ${WORKSPACE}-aptos-node-0-genesis-e2 \ --from-file=genesis.blob=genesis.blob \ --from-file=waypoint.txt=waypoint.txt \ --from-file=validator-identity.yaml=keys/validator-identity.yaml \ --from-file=validator-full-node-identity.yaml=keys/validator-full-node-identity.yaml
在加入验证者集合并更新节点身份配置以匹配池地址后,您需要引导节点连接到网络.要做到这一点,请按照以下步骤操作:
- 启动 VFN.VFN 将连接到网络并开始同步.更多信息,请参见状态同步.
- VFN 同步完成后,重新启动验证节点.它将从 VFN 同步,然后连接到网络中的其他验证者并开始参与共识.
完成这两个步骤后,您的节点将连接到网络并参与共识.
祝贺您!您已成功将节点连接到 Aptos 网络.要验证您的节点是否运行正确,请访问节点健康文档.该文档描述了如何验证和监控您的验证节点和 VFN 的健康状况,包括初始节点验证部分.