跳转到内容

使用 Docker

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

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

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

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

    Terminal window
    # 使用适当的 IP 或 DNS 地址替换下面的 <validator node IP / DNS address> 和 <Full Node IP / DNS address>。
    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, if you are using IP addresses:
    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
    # Otherwise, if you are using DNS addresses:
    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 网络.

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

    • validator.yaml
    • fullnode.yaml
    • docker-compose.yaml
    • docker-compose-fullnode.yaml
    • haproxy.cfg
    • haproxy-fullnode.cfg
    • blocked.ips
    • genesis.blob
    • waypoint.txt
  5. 总之,您的工作目录(~/$WORKSPACE)中应该有以下文件列表:

    • docker-compose.yaml:运行验证器的 docker compose 文件.
    • docker-compose-fullnode.yaml:运行 VFN 的 docker compose 文件.
    • 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).
  6. 要启动验证器节点,在您的工作目录中运行以下命令:

    Terminal window
    docker-compose up (或根据您的版本使用 `docker compose up`

    这将使用 docker-compose.yaml 文件中指定的 docker compose 文件和镜像启动验证器节点.如果您希望更改要连接的网络,您需要修改文件以按网络名称使用正确的 docker 镜像.

  7. 在启动 VFN 之前,你需先调整 fullnode.yaml 配置文件,以便更新验证器节点的主机地址.比如,如果您使用的是 IP 地址,就需要按照以下方式,修改 vfn 网络的 full_node_networks 的地址信息:

    ---
    addresses:
    - "/ip4/100.100.100.100/tcp/6181/noise-ik/..." # 设置验证器的 IP 地址

    否则,如果您使用 DNS 地址,您需要按如下方式更新 addresses 字段:

    ---
    addresses:
    - "/dns/example.com/tcp/6181/noise-ik/..." # 设置验证器的 DNS 地址
  8. 为了启动你的 VFN,请在一台独立的,专为 VFN 设置的计算机上执行以下命令.你需要从验证节点的计算机那里复制密钥,配置文件和 docker compose 文件过来.

    要启动 VFN,请在您的工作目录中运行以下命令:

    Terminal window
    docker-compose -f docker-compose-fullnode.yaml up

    通过使用 docker-compose 文件和 docker-compose-fullnode.yaml 文件中指定的镜像,将会启动 VFN.如果你想要连接到不同的网络,那么你需要根据网络名称,修改这个文件来指定正确的 Docker 镜像.

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