💡 注意在 APPLE M1上
Docker 只能在 Linux,Windows 和 Intel macOS 上进行测试。如果你在使用 M1 macOS,使用 Aptos-core 方法。
为您的 Aptos 节点组合创建目录,为您的节点选择一个用户名,例如:
Copy export WORKSPACE=testnet
export USERNAME=alice
mkdir ~/$WORKSPACE
cd ~/$WORKSPACE
下载 validator.yaml 和 docker-compose.yaml 并将文件配置进此目录。
Copy 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>
在您的工作目录下生成密钥对(节点所有者,投票者,操作者密钥,共识密钥和网络密钥)
Copy aptos genesis generate - keys -- output - dir ~/ $WORKSPACE / keys
这将在 ~/$WORKSPACE/keys
目录下创建4个关键文件:
validator-identity.yaml
,和
validator-full-node-identity.yaml
.
💡 需要注意:
将您的私钥文件备份到安全的地方。这些关键文件对于您建立节点的所有权很重要。 永远不要与任何人共享私钥。
配置验证器信息。您需要设置节点可以使用的静态 IP/DNS 地址(首选DNS),并确保网络/防火墙正确配置为接受外部连接。请参见FullNode的网络标识 了解如何做到这一点。 您需要这些信息才能稍后在Aptos社区网站上注册。
💡 小提示
--full-node-host
标志是可选的。
Copy cd ~/ $WORKSPACE
aptos genesis set - validator - configuration \\
-- local - repository - dir ~/ $WORKSPACE \\
-- username $USERNAME \\
-- owner - public - identity - file ~/ $WORKSPACE / keys / public - keys .yaml \\
-- validator - host < Validator Node IP / DNS address > :< Port > \\
--full-node-host < Full Node IP / DNS address >:< Port > \\
--stake-amount 100000000000000
# for example, with IP:
aptos genesis set-validator-configuration \\
--local-repository-dir ~/$WORKSPACE \\
--username $USERNAME \\
--owner-public-identity-file ~/$WORKSPACE/keys/public-keys.yaml \\
--validator-host 35.232.235.205:6180 \\
--full-node-host 34.135.169.144:6182 \\
--stake-amount 100000000000000
# For example, with DNS:
aptos genesis set-validator-configuration \\
--local-repository-dir ~/$WORKSPACE \\
--username $USERNAME \\
--owner-public-identity-file ~/$WORKSPACE/keys/public-keys.yaml \\
--validator-host bot.aptosdev.com:6180 \\
--full-node-host fn.bot.aptosdev.com:6182 \\
--stake-amount 100000000000000
这将创建2个 YAML files 在 ~/$WORKSPACE/$USERNAME
目录下: owner.yaml
和 operator.yaml
.
创建一个布局模板文件,该文件定义了Aptos验证器集中的节点。
Copy aptos genesis generate - layout - template -- output - file ~/ $WORKSPACE / layout .yaml
编辑 layout.yaml
, 增加 root_key
, 验证者节点用户名和 chain_id
:
Copy root_key : "D04470F43AB6AEAA4EB616B72128881EEF77346F2075FFE68E14BA7DEBD8095E"
users : [ "<username you specified from previous step>" ]
chain_id : 43
allow_new_validators : false
epoch_duration_secs : 7200
is_test : true
min_stake : 100000000000000
min_voting_threshold : 100000000000000
max_stake : 100000000000000000
recurring_lockup_duration_secs : 86400
required_proposer_stake : 100000000000000
rewards_apy_percentage : 10
voting_duration_secs : 43200
voting_power_increase_limit : 20
请确保使用与示例中所示相同的根公钥和相同的链ID,这些配置将在注册期间用于验证节点。
下载 AptosFramework Move 页面放置于 ~/$WORKSPACE
目录下命名为 framework.mrb
Copy aptos genesis generate - layout - template -- output - file ~/ $WORKSPACE / layout .yaml
编辑 layout.yaml
, 增加 root_key
, 验证者节点用户名和 chain_id
:
Copy root_key : "D04470F43AB6AEAA4EB616B72128881EEF77346F2075FFE68E14BA7DEBD8095E"
users : [ "<username you specified from previous step>" ]
chain_id : 43
allow_new_validators : false
epoch_duration_secs : 7200
is_test : true
min_stake : 100000000000000
min_voting_threshold : 100000000000000
max_stake : 100000000000000000
recurring_lockup_duration_secs : 86400
required_proposer_stake : 100000000000000
rewards_apy_percentage : 10
voting_duration_secs : 43200
voting_power_increase_limit : 20
请确保使用与示例中所示相同的根公钥和相同的链ID,这些配置将在注册期间用于验证节点。
编译genesis blob和路标
Copy aptos genesis generate - genesis -- local - repository - dir ~/ $WORKSPACE -- output - dir ~/ $WORKSPACE
这将会在您的工作目录下创建两个文件:genesis.blob
和 waypoint.txt
。
总而言之,在您的工作目录中,您应该有一个文件列表:
docker-compose.yaml
docker 编写文件以运行验证者和全节点。
keys
文件夹,包括:
public-keys.yaml
: 所有者帐户、共识和网络的公钥(来自步骤4)。
private-keys.yaml
: 所有者帐户、共识和网络的私钥(来自步骤4)。
validator-identity.yaml
: 用于设置验证器身份的私钥(来自步骤4)。
validator-full-node-identity.yaml
: 用于设置验证器完整节点标识的私钥(来自步骤4)。
username
文件夹,包括:
owner.yaml
: 定义所有者、操作员和投票人映射。在测试模式下,它们都是相同的帐户(来自步骤5)。
operator.yaml
: 将用于验证器和全节点的节点信息(来自步骤5)。
layout.yaml
: 布局文件包含根密钥、验证器用户和链ID的键值(来自步骤6)。
framework.mrb
: AptosFramework Move下载包(来自步骤7)。
waypoint.txt
: genesis 交易的路标(来自步骤8)。
genesis.blob
genesis二进制文件,包含关于框架、validatorSet 等的所有信息(来自步骤8)。
运行docker compose:docker-compose up
。(或docker compose up
取决于您的版本。)
现在,您已经完成了在测试模式下设置验证器节点。您可以继续访问我们的Aptos社区平台 注册网站。此外,您还可以按照以下说明设置全节点。
[可选择的]现在让我们在另一台机器上设置全节点。下载 fullnode.yaml
和 docker-compose-fullnode.yaml
配置文件到全节点机器的工作目录中。
Copy 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>
编辑 fullnode.yaml
文件中为验证者节点去更新 IP 地址
[可选择的] 复制 validator-full-node-identity.yaml
, genesis.blob
和 waypoint.txt
文件将上面生成的文件保存到全节点机器上的同一工作目录中。
[可选择的] 运行 docker-compose: docker-compose -f docker-compose-fullnode.yaml up
. 现在,您已经成功地在测试模式下完成了节点的设置。您现在可以进入Aptos社区平台 注册网站。