跳转到内容

更新您的 PFN

本文档详细介绍了如何在 Aptos 发布新版本时进行 PFN 更新.所有的 PFN 一旦新版本发布都需要执行更新操作.对于在 devnet 上运行的 PFN,需要进行一项额外的操作,即在每次新版本发布时对 devnet 执行数据清理.

如果您是从 aptos-core 源代码运行您的 PFN,您也可以通过以下步骤来更新您的 PFN:

  1. 通过运行以下命令停止您的 PFN(或手动停止 aptos-node 进程):

    Terminal window
    cargo stop aptos-node
  2. 获取适用于您的网络的最新版本,例如 devnet,testnetmainnet.确保将 [network_branch] 替换为以下适当的分支名称:

    Terminal window
    git checkout [network_branch] && git pull
  3. 按照您最初设置时的方式,重新编译二进制文件.

  4. 如果您的 PFN 在 devnet 上运行,请按照下面的带数据擦除的升级部分中的附加步骤进行操作.

  5. 通过运行与之前相同的部署命令重新启动您的 PFN.例如:

    Terminal window
    cargo run -p aptos-node --release -- -f ./fullnode.yaml

如果您的 PFN 在 devnet 上运行,请在停止 PFN(在重新启动之前)后遵循这些附加步骤:

  1. 删除数据文件夹(目录路径是您在配置文件中指定的,例如 fullnode.yaml).

    • 默认数据文件夹是 /opt/aptos/data.
  2. 删除 genesis.blob 文件和 waypoint.txt 文件(取决于您的配置方式,您可能没有此文件,而是在配置文件中直接有 waypoint ).

  3. 下载新的 genesis.blob 文件和新的 waypoint.

  4. 使用新的 genesis.blobwaypoint 文件更新配置文件(例如 fullnode.yaml).

  5. 通过运行与之前相同的部署命令重新启动您的 PFN.

如果您是通过 Docker 镜像运行您的 PFN,您可以通过以下方式更新您的 PFN:

  1. 通过运行以下命令停止您的 PFN:

    Terminal window
    docker compose down --volumes
  2. (仅限 Devnet!) 如果您的 PFN 在 devnet 上运行,请删除包含您的 PFN 配置和数据目录的整个目录.

  3. 按照最初的设置重新安装和配置这些文件.

  4. 通过运行与之前相同的部署命令重新启动您的 PFN.例如:

    Terminal window
    docker compose up -d

如果您在 GCP 上运行您的 PFN,请按照以下步骤更新您的 PFN.注意:如果您的 PFN 在 devnet 上运行,则需要额外执行数据擦除步骤.

如果您正在运行 devnet PFN,请按照以下步骤进行更新:

  1. main.tf 中增加 era 编号以触发新数据卷的创建,这将使 PFN 在新的 DB 上启动.

  2. main.tf 中更新 image_tag 以包含新版本号.

  3. 更新 PFN 的 Terraform 模块(在 main.tf 文件的同一目录下运行此命令):

Terminal window
terraform get -update
  1. 应用 Terraform 更改:
Terminal window
terraform apply

如果您没有运行 devnet PFN,请按照以下步骤进行更新:

  1. main.tf 中更新 image_tag.

  2. 更新 PFN 的 Terraform 模块(在 main.tf 文件的同一目录下运行此命令):

Terminal window
terraform get -update
  1. 应用 Terraform 更改:
Terminal window
terraform apply
# 如果您没有更新镜像标签,Terraform 将显示无更改,在这种情况下,强制执行 helm 更新
terraform apply -var force_helm_update=true