使用源代码
这是一份分步指南,用于使用源代码部署 Aptos 验证器和验证器全节点(VFN).按照本指南,验证器和 VFN 将部署在不同的机器上.
-
按照 从源代码构建 Aptos 中的步骤下载
aptos-core
存储库和源代码. -
使用
git checkout --track origin/mainnet
检出mainnet
分支.注意:如果您想在另一个网络上部署验证器和 VFN,请使用适当的分支名称(例如,testnet
). -
为您的 Aptos 节点创建一个工作目录,并为您的节点选择一个用户名,例如,
Terminal window export WORKSPACE=mainnetexport USERNAME=alicemkdir ~/$WORKSPACE -
在您的工作目录中为您的节点生成密钥对.您可以通过运行以下命令并使用 Aptos CLI 来执行此操作:
Terminal window aptos genesis generate-keys --output-dir ~/$WORKSPACE/keys这将在
~/$WORKSPACE/keys
目录下创建 4 个密钥文件:public-keys.yaml
:此文件包含您的验证器和 VFN 的所有公钥,以及您的账户地址.private-keys.yaml
:此文件包含您的验证器和 VFN 的所有私钥.validator-identity.yaml
:此文件包含验证器的公钥和私钥,以及您的账户地址.validator-full-node-identity.yaml
:此文件包含 VFN 的公钥和私钥,以及您的账户地址.
-
接下来,您需要设置验证器的配置.这包括设置验证器和 VFN 的主机名,这些可能是 IP 地址或 DNS 地址.
您可以通过运行以下命令并使用 Aptos CLI 来设置验证器配置:
Terminal window # 将下面的 <validator node IP / DNS address> 和 <Full Node IP / DNS address> 替换为,# 您的节点适当的 IP 或 DNS 地址。cd ~/$WORKSPACEaptos 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# 例如,如果您使用 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# 否则,如果您使用 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配置验证器将在
~/$WORKSPACE/$USERNAME
目录中创建两个 YAML 文件:owner.yaml
和operator.yaml
.这些将有助于将您的节点连接到 Aptos 网络(稍后). -
按照查找节点文件 页面上的说明下载以下文件. 您需要选择适当的网络(例如,
mainnet
,testnet
,devnet
)并下载以下文件:validator.yaml
fullnode.yaml
genesis.blob
waypoint.txt
-
接下来,将刚刚下载的
validator.yaml
和fullnode.yaml
模板文件复制到~/$WORKSPACE/config/
目录中.这可以通过运行以下命令完成:Terminal window mkdir ~/$WORKSPACE/configcp validator.yaml ~/$WORKSPACE/config/validator.yamlcp fullnode.yaml ~/$WORKSPACE/config/fullnode.yaml这些将分别是您的验证器和 VFN 的主要配置文件.
-
现在,修改
validator.yaml
和fullnode.yaml
模板文件以包含适用于您的验证器和 VFN 的信息和工作目录.对于
validator.yaml
文件,您需要修改以下字段:base.data_dir
:区块链数据将存储在此目录.base.waypoint
:您连接的网络上创世交易的路标.consensus.initial_safety_rules_config
:您连接的网络上创世交易的路标文件,以及validator-identity.yaml
文件位置.execution.genesis_file_location
:您连接的网络的创世区块(fenesis blob).validator_network.identity
:validator-identity.yaml
文件位置.
对于
fullnode.yaml
文件,您需要修改以下字段:-
base.data_dir
:区块链数据将存储在此目录. -
base.waypoint
:您连接的网络上创世交易的航点. -
execution.genesis_file_location
:您连接的网络的创世 blob. -
full_node_networks
:- 需要更新public
网络与validator-full-node-identity.yaml
文件位置. - 需要更新vfn
网络与验证器的正确 IP 地址或 DNS 地址.例如,如果您使用 IP 地址,您需要按如下方式更新addresses
字段:---addresses:- "/ip4/100.100.100.100/tcp/6181/noise-ik/..." # 设置验证器的 IP 地址否则,如果您使用 DNS 地址,您需要按如下方式更新
addresses
字段:---addresses:- "/dns/example.com/tcp/6181/noise-ik/..." # 设置验证器的 DNS 地址
-
总之,在您的工作目录(
~/$WORKSPACE
)中,您应该有以下文件列表:config
文件夹包含:validator.yaml
:验证器配置文件.fullnode.yaml
:VFN 配置文件.
keys
文件夹包含:public-keys.yaml
:两个节点的公钥.private-keys.yaml
:两个节点的私钥.validator-identity.yaml
:验证器的密钥和账户信息.validator-full-node-identity.yaml
:VFN 的密钥和账户信息.
$username
文件夹包含:owner.yaml
:所有者,运营者和投票者映射关系.operator.yaml
:验证器和 VFN 运营者信息.
waypoint.txt
:您连接的网络上创世交易的路标文件.genesis.blob
:您连接的网络的创世区块(genesis blob).
-
现在您已经设置好了配置文件,可以启动您的验证器和 VFN 了.要启动您的验证器,请在
aptos-core
目录根目录下运行以下命令:Terminal window cargo cleancargo build -p aptos-node --releasesudo mv target/release/aptos-node /usr/local/binaptos-node -f ~/$WORKSPACE/config/validator.yaml要在单独的专用 VFN 机器上启动您的 VFN,请在该机器上下载
aptos-core
源代码并构建二进制文件.同样,您需要从验证器机器复制密钥和配置文件.通过在
aptos-core
目录的根目录下运行以下命令来启动您的 VFN:Terminal window cargo cleancargo build -p aptos-node --releasesudo mv target/release/aptos-node /usr/local/binaptos-node -f ~/$WORKSPACE/config/fullnode.yaml
(可选)作为服务运行
Section titled “(可选)作为服务运行”如果您想将 aptos-node
作为服务运行,您可以设置它作为由 systemctl
控制的服务运行.这是可选的,可以使用下面的服务模板完成.您需要修改模板以匹配您的环境和配置.
[Unit]Description=Aptos Node 服务
[Service]User=nodeuserGroup=nodeuser
LimitNOFILE=500000
#Environment="RUST_LOG=error"WorkingDirectory=/home/nodeuser/aptos-coreExecStart=/usr/local/bin/aptos-node -f /home/nodeuser/aptos-mainnet/config/validator.yaml
Restart=on-failureRestartSec=3s
StandardOutput=journalStandardError=journalSyslogIdentifier=aptos-node
[Install]WantedBy=multi-user.target
连接到 Aptos 网络
Section titled “连接到 Aptos 网络”您现在已经使用源代码完成了验证器和 VFN 的设置.请继续进行 连接节点 的操作.