跳转到内容

使用源代码

这是一份分步指南,用于使用源代码部署 Aptos 验证器和验证器全节点(VFN).按照本指南,验证器和 VFN 将部署在不同的机器上.

  1. 按照 从源代码构建 Aptos 中的步骤下载 aptos-core 存储库和源代码.

  2. 使用 git checkout --track origin/mainnet 检出 mainnet 分支.注意:如果您想在另一个网络上部署验证器和 VFN,请使用适当的分支名称(例如,testnet).

  3. 为您的 Aptos 节点创建一个工作目录,并为您的节点选择一个用户名,例如,

    Terminal window
    export WORKSPACE=mainnet
    export USERNAME=alice
    mkdir ~/$WORKSPACE
  4. 在您的工作目录中为您的节点生成密钥对.您可以通过运行以下命令并使用 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 的公钥和私钥,以及您的账户地址.
  5. 接下来,您需要设置验证器的配置.这包括设置验证器和 VFN 的主机名,这些可能是 IP 地址或 DNS 地址.

    您可以通过运行以下命令并使用 Aptos CLI 来设置验证器配置:

    Terminal window
    # 将下面的 <validator node IP / DNS address> 和 <Full Node IP / DNS address> 替换为,
    # 您的节点适当的 IP 或 DNS 地址。
    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
    # 例如,如果您使用 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.yamloperator.yaml.这些将有助于将您的节点连接到 Aptos 网络(稍后).

  6. 按照查找节点文件 页面上的说明下载以下文件. 您需要选择适当的网络(例如,mainnet,testnet,devnet)并下载以下文件:

    • validator.yaml
    • fullnode.yaml
    • genesis.blob
    • waypoint.txt
  7. 接下来,将刚刚下载的 validator.yamlfullnode.yaml 模板文件复制到 ~/$WORKSPACE/config/ 目录中.这可以通过运行以下命令完成:

    Terminal window
    mkdir ~/$WORKSPACE/config
    cp validator.yaml ~/$WORKSPACE/config/validator.yaml
    cp fullnode.yaml ~/$WORKSPACE/config/fullnode.yaml

    这些将分别是您的验证器和 VFN 的主要配置文件.

  8. 现在,修改 validator.yamlfullnode.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 地址
  9. 总之,在您的工作目录(~/$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).
  10. 现在您已经设置好了配置文件,可以启动您的验证器和 VFN 了.要启动您的验证器,请在 aptos-core 目录根目录下运行以下命令:

    Terminal window
    cargo clean
    cargo build -p aptos-node --release
    sudo mv target/release/aptos-node /usr/local/bin
    aptos-node -f ~/$WORKSPACE/config/validator.yaml

    要在单独的专用 VFN 机器上启动您的 VFN,请在该机器上下载 aptos-core 源代码并构建二进制文件.同样,您需要从验证器机器复制密钥和配置文件.

    通过在 aptos-core 目录的根目录下运行以下命令来启动您的 VFN:

    Terminal window
    cargo clean
    cargo build -p aptos-node --release
    sudo mv target/release/aptos-node /usr/local/bin
    aptos-node -f ~/$WORKSPACE/config/fullnode.yaml

如果您想将 aptos-node 作为服务运行,您可以设置它作为由 systemctl 控制的服务运行.这是可选的,可以使用下面的服务模板完成.您需要修改模板以匹配您的环境和配置.

Terminal window
[Unit]
Description=Aptos Node 服务
[Service]
User=nodeuser
Group=nodeuser
LimitNOFILE=500000
#Environment="RUST_LOG=error"
WorkingDirectory=/home/nodeuser/aptos-core
ExecStart=/usr/local/bin/aptos-node -f /home/nodeuser/aptos-mainnet/config/validator.yaml
Restart=on-failure
RestartSec=3s
StandardOutput=journal
StandardError=journal
SyslogIdentifier=aptos-node
[Install]
WantedBy=multi-user.target

您现在已经使用源代码完成了验证器和 VFN 的设置.请继续进行 连接节点 的操作.