更新您的 PFN
本文档详细介绍了如何在 Aptos 发布新版本时进行 PFN 更新.所有的 PFN 一旦新版本发布都需要执行更新操作.对于在 devnet 上运行的 PFN,需要进行一项额外的操作,即在每次新版本发布时对 devnet 执行数据清理.
如果您是从 aptos-core 源代码运行您的 PFN,您也可以通过以下步骤来更新您的 PFN:
- 
通过运行以下命令停止您的 PFN(或手动停止 aptos-node进程):Terminal window cargo stop aptos-node
- 
获取适用于您的网络的最新版本,例如 devnet,testnet或mainnet.确保将[network_branch]替换为以下适当的分支名称:Terminal window git checkout [network_branch] && git pull
- 
按照您最初设置时的方式,重新编译二进制文件. 
- 
如果您的 PFN 在 devnet上运行,请按照下面的带数据擦除的升级部分中的附加步骤进行操作.
- 
通过运行与之前相同的部署命令重新启动您的 PFN.例如: Terminal window cargo run -p aptos-node --release -- -f ./fullnode.yaml
数据擦除和重置(Devnet)
Section titled “数据擦除和重置(Devnet)”如果您的 PFN 在 devnet 上运行,请在停止 PFN(在重新启动之前)后遵循这些附加步骤:
- 
删除数据文件夹(目录路径是您在配置文件中指定的,例如 fullnode.yaml).- 默认数据文件夹是 /opt/aptos/data.
 
- 默认数据文件夹是 
- 
删除 genesis.blob文件和waypoint.txt文件(取决于您的配置方式,您可能没有此文件,而是在配置文件中直接有waypoint).
- 
下载新的 genesis.blob 文件和新的 waypoint. 
- 
使用新的 genesis.blob和waypoint文件更新配置文件(例如fullnode.yaml).
- 
通过运行与之前相同的部署命令重新启动您的 PFN. 
Docker 部署
Section titled “Docker 部署”如果您是通过 Docker 镜像运行您的 PFN,您可以通过以下方式更新您的 PFN:
- 
通过运行以下命令停止您的 PFN: Terminal window docker compose down --volumes
- 
(仅限 Devnet!) 如果您的 PFN 在 devnet上运行,请删除包含您的 PFN 配置和数据目录的整个目录.
- 
按照最初的设置重新安装和配置这些文件. 
- 
通过运行与之前相同的部署命令重新启动您的 PFN.例如: Terminal window docker compose up -d
GCP 部署
Section titled “GCP 部署”如果您在 GCP 上运行您的 PFN,请按照以下步骤更新您的 PFN.注意:如果您的 PFN 在 devnet 上运行,则需要额外执行数据擦除步骤.
带数据擦除的升级(仅限 Devnet)
Section titled “带数据擦除的升级(仅限 Devnet)”如果您正在运行 devnet PFN,请按照以下步骤进行更新:
- 
在 main.tf中增加era编号以触发新数据卷的创建,这将使 PFN 在新的 DB 上启动.
- 
在 main.tf中更新image_tag以包含新版本号.
- 
更新 PFN 的 Terraform 模块(在 main.tf文件的同一目录下运行此命令):
terraform get -update- 应用 Terraform 更改:
terraform apply无数据擦除的升级
Section titled “无数据擦除的升级”如果您没有运行 devnet PFN,请按照以下步骤进行更新:
- 
在 main.tf中更新image_tag.
- 
更新 PFN 的 Terraform 模块(在 main.tf文件的同一目录下运行此命令):
terraform get -update- 应用 Terraform 更改:
terraform apply
# 如果您没有更新镜像标签,Terraform 将显示无更改,在这种情况下,强制执行 helm 更新terraform apply -var force_helm_update=true