使用 Docker

  1. 安装 Docker 和 Docker- Compose, Aptos CLI 0.3.1

💡 注意在 APPLE M1上

Docker 只能在 Linux,Windows 和 Intel macOS 上进行测试。如果你在使用 M1 macOS,使用 Aptos-core 方法。

  1. 为您的 Aptos 节点组合创建目录,为您的节点选择一个用户名,例如:

    export WORKSPACE=testnet
    export USERNAME=alice
    mkdir ~/$WORKSPACE
    cd ~/$WORKSPACE
  2. 下载 validator.yaml 和 docker-compose.yaml 并将文件配置进此目录。

    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>
  3. 在您的工作目录下生成密钥对(节点所有者,投票者,操作者密钥,共识密钥和网络密钥)

    aptos genesis generate-keys --output-dir ~/$WORKSPACE/keys

    这将在 ~/$WORKSPACE/keys 目录下创建4个关键文件:

    • public-keys.yaml

    • private-keys.yaml

    • validator-identity.yaml,和

    • validator-full-node-identity.yaml.

    💡 需要注意:

    将您的私钥文件备份到安全的地方。这些关键文件对于您建立节点的所有权很重要。 永远不要与任何人共享私钥。

  4. 配置验证器信息。您需要设置节点可以使用的静态 IP/DNS 地址(首选DNS),并确保网络/防火墙正确配置为接受外部连接。请参见FullNode的网络标识了解如何做到这一点。 您需要这些信息才能稍后在Aptos社区网站上注册。

    💡 小提示

    --full-node-host 标志是可选的。

    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.yamloperator.yaml.

  5. 创建一个布局模板文件,该文件定义了Aptos验证器集中的节点。

    aptos genesis generate-layout-template --output-file ~/$WORKSPACE/layout.yaml

    编辑 layout.yaml, 增加 root_key, 验证者节点用户名和 chain_id:

    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,这些配置将在注册期间用于验证节点。

  6. 下载 AptosFramework Move 页面放置于 ~/$WORKSPACE 目录下命名为 framework.mrb

    aptos genesis generate-layout-template --output-file ~/$WORKSPACE/layout.yaml

    编辑 layout.yaml, 增加 root_key, 验证者节点用户名和 chain_id:

    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,这些配置将在注册期间用于验证节点。

  7. 编译genesis blob和路标

    aptos genesis generate-genesis --local-repository-dir ~/$WORKSPACE --output-dir ~/$WORKSPACE

    这将会在您的工作目录下创建两个文件:genesis.blobwaypoint.txt

  8. 总而言之,在您的工作目录中,您应该有一个文件列表:

    • 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)。

  9. 运行docker compose:docker-compose up。(或docker compose up取决于您的版本。)

现在,您已经完成了在测试模式下设置验证器节点。您可以继续访问我们的Aptos社区平台注册网站。此外,您还可以按照以下说明设置全节点。

  1. [可选择的]现在让我们在另一台机器上设置全节点。下载 fullnode.yamldocker-compose-fullnode.yaml 配置文件到全节点机器的工作目录中。

    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>
  2. 编辑 fullnode.yaml 文件中为验证者节点去更新 IP 地址

  3. [可选择的] 复制 validator-full-node-identity.yaml, genesis.blobwaypoint.txt 文件将上面生成的文件保存到全节点机器上的同一工作目录中。

  4. [可选择的] 运行 docker-compose: docker-compose -f docker-compose-fullnode.yaml up. 现在,您已经成功地在测试模式下完成了节点的设置。您现在可以进入Aptos社区平台注册网站。

Last updated