---
description: 运行节点的最佳做法
---

# AIA智能链节点配置

### 硬件规格 <a href="#hardware-specifications" id="hardware-specifications"></a>

为了确保最佳性能和可靠性，根据您对 AIA 智能链上的交易处理和状态查询的特定要求选择合适的节点类型至关重要。

#### 快速节点（推荐配置） <a href="#fast-node-recommended-configuration" id="fast-node-recommended-configuration"></a>

对于需要以轻量级模式访问最新世界状态的用户，快速节点是理想选择。它对系统 CPU 和磁盘空间的要求较低。

* **处理器**：最低 4 核 CPU。
* **内存**：至少 16 GB RAM。
* **存储**：固态硬盘 (SSD)，容量至少为 300G。
* **网络**：稳定高速的互联网连接，最低 5 MBps。

#### 归档节点 <a href="#archive-node" id="archive-node"></a>

为了全面访问 AIA 主网的整个历史世界状态，请考虑部署存档节点。

* **处理器**：至少 8 核 CPU。&#x20;
* **内存**：至少 16 GB RAM。&#x20;
* **存储**：容量至少为 2TB 的 SSD（建议使用 NVME SSD 以获得最佳性能）。&#x20;
* **网络**：稳定高速的互联网连接，最低 5 MBps。

#### 全节点 <a href="#full-node" id="full-node"></a>

为了获取最新的世界状态并验证状态的有效性或生成数据证明，标准的完整节点是合适的。&#x20;

* **处理器**：至少 4 核 CPU。&#x20;
* **内存**：至少 16 GB RAM。&#x20;
* **存储**：固态硬盘 (SSD)，容量至少为 300G。&#x20;
* **网络**：稳定高速的互联网连接，最低 5 MBps。

### 对等端配置 <a href="#peers-configuration" id="peers-configuration"></a>

* 无需指定静态节点，只需要已在代码中配置的 Bootnode。此外，请确保使用最新版本中的 config.toml 文件。

### 保护您的完整节点 RPC 免受黑客攻击 <a href="#securing-your-full-node-rpc-from-hackers" id="securing-your-full-node-rpc-from-hackers"></a>

请不要将您的 RPC 端点暴露到公共网络。特别是验证器全节点 RPC 端点。

### 软件漏洞 <a href="#software-vulnerabilities" id="software-vulnerabilities"></a>

为了保护你的 AIA，你应该只从官方来源直接下载软件，并确保你始终使用最新、最安全的版本。

### 作为守护进程运行服务器 <a href="#running-server-as-a-daemon" id="running-server-as-a-daemon"></a>

始终保持**geth**运行非常重要。有多种方法可以实现这一点，我们推荐的最简单的解决方案是将**geth**注册 为 systemd 服务，这样它就会在系统重启和其他事件发生时自动启动。

#### 为什么 节点 重启后会离线一段时间？或者如果客户端被强制杀死会发生什么？ <a href="#why-node-will-be-offline-for-a-while-after-restart-or-what-will-happen-if-the-client-is-force-killed" id="why-node-will-be-offline-for-a-while-after-restart-or-what-will-happen-if-the-client-is-force-killed"></a>

运行（同步）很长时间并突然终止后，只有存档节点才有望在重新启动时快速重新同步。

**原因**

如果 Geth 崩溃（或未正常关闭），内存中保存的近期状态将丢失，需要重新生成。Geth 需要很长时间才能恢复状态。

根本原因是**geth**会定期刷新状态 trie。该周期在**config.toml**中定义为**trieTimeout**。

### 确保验证者安全 <a href="#securing-the-validators" id="securing-the-validators"></a>

鼓励每个验证者候选人独立运行其操作，因为不同的设置可以提高网络的弹性。由于验证者投入了大量资金，因此保护他们免受各种 DoS 和 DDoS 攻击至关重要。

#### 防火墙配置 <a href="#firewall-configuration" id="firewall-configuration"></a>

**geth**使用一个监听器（TCP）端口和一个发现（UDP）端口，默认都在 13931 上。

如果您需要运行 JSON-RPC，您还需要 TCP 端口 8545。请注意，JSON-RPC 端口不应向外界开放，因为您可以从那里执行管理操作。
