PFN 要求
为确保您的公共全节点(PFN)运行顺畅,它应满足本文档中指定的要求。
硬件需求
对于运行生产级的 PFN,我们建议您的硬件与验证器或 VFN 的配置相同。您可以在这里查看这些节点的硬件要求:验证器和 VFN 的硬件要求。
如果您只想为开发或测试运行 PFN,可以使用较低的硬件规格。但是,它不应该在生产环境使用。例如:
- CPU: 8 核,16 线程(Intel Xeon Skylake 或更新版本)。
- 内存: 32GB RAM。
最低硬件要求
如果您的 PFN 没有达到生产环境所必需的最低硬件标准,那么在面对高负荷工作时,PFN 很可能会出现运行缓慢和稳定性方面的问题。
网络要求和端口
运行 PFN 的时候,您必须开放节点的网络端口,这样其他节点(对等节点,Peers)才可以连接到您的节点。Aptos 网络有多种类型,每种类型都使用不同的端口。不过,PFN 使用的是公共网络类型,使得各个 PFN 与 VFN(验证器全节点)之间能够互相连接。
您可以配置 PFN,以便公共网络能在您的节点上使用特定的端口。您可以使用节点配置 YAML 文件配置端口设置。这里是一个 PFN 的示例配置文件,配置公共网络时,使用的端口是 6180
。
端口设置
以下建议是基于 PFN (公共全节点)使用默认端口设置的前提提出的。如果您已经在配置文件中修改了默认的端口设置,那么你需要根据实际情况来适当调整这些建议中的描述,以使其适用于您的配置。
暴露端口
除特别指明的情况外,我们建议您在运行 PFN(公共全节点)时,不要开放任何非必需的其他网络端口。这样做的原因是,额外开放的端口可能会增大您节点的面临的风险,从而让节点更容易受到潜在风险引起的攻击。
运行 PFN:
假设使用了默认端口,以下是 PFN 应配置的:
- 打开以下 TCP 端口:
6182
– 公共网络:打开此端口,并公开以允许其他 PFN 连接到您的 PFN。
- 关闭以下 TCP 端口:
9101
– 检查服务:关闭此端口以防止未经授权的指标检查。9102
– 管理服务:关闭此端口以防止未经授权的管理服务交互。80/8080
- REST API:关闭此端口以防止未经授权的 REST API 访问。
暴露服务
请注意,对于您的内部网络而言,如应用开发和调试,检查服务端口(9101)、管理服务端口(9102)以及 REST API 端口(80 或 8080)可能会很有帮助。然而,检查服务端口和管理服务端口绝对不能公开到外网,因为很容易被滥用。同样地,如果您决定将 REST API 端点公开到外网,您应当部署额外的安全措施,比如认证机制或流量限制,以避免被滥用。
存储需求
Aptos 的全节点(PFN)所需存储的数据量,既取决于区块链的账本历史长度,也受到链上状态数量(如帐户和资源)的影响。这些因素的变化受到区块链存在时长、平均交易率的变化,以及账本数据库裁剪器的配置等多重因素的影响。根据目前的状况来说,不论是测试网络还是主网络的全节点,都需要数百 GB 的存储空间。
值得一提的是,由于存档节点保留了区块链的所有历史记录,这类节点数据库的大小将会持续增长,没有上限。因此,对于存档节点的存储容量,我们难以提出具体的推荐标准。
Devnet区块链存储
Aptos devnet 目前每周重置一次。如果您正在部署 devnet PFN,这意味着存储每周都会重置(即,清除)。请参阅 Aptos Discord 上的 #devnet-release
频道。