如何运行多个节点
如果您拥有一台高性能服务器,想运行多个节点,那么您可以参考这个教程。
注意:
  • 官方建议,单个全节点的最低配置为 2 核 8GB 内存;
  • 使用本教程前,请确保已阅读并了解如何运行节点(Docker 方式);教程地址
  • 若您的服务器性能较低,运行多个节点,可能会导致宕机、无法连接等情况!

1. 创建新的节点目录

Windows 用户

在 C 盘或 D 盘下新建文件夹 aptos-node-1,注意不是之前节点的目录。

Mac/Linux 用户

前面的教程中,默认创建了名为 aptos-node 的目录,为了运行新的节点,需要创建新的目录:
# 创建 aptos-node 目录并进入该目录,之后的操作都会在该目录下进行
mkdir -p ~/aptos-node-1 && cd ~/aptos-node-1

2. 下载 Aptos 节点运行所需文件

在新的目录(aptos-node-1)下重新下载节点所需文件,您也可以从之前的目录中拷贝。

3. 修改配置

3.1 修改新的静态身份

新的节点需要生成新的静态身份,您可以参照社区教程的命令生成并修改 public_full_node.yaml 文件。
base:
# This is the location Aptos will store its database. It is backed by a dedicated docker volume
# for persistence.
data_dir: "/opt/aptos/data"
role: "full_node"
waypoint:
# This is a checkpoint into the blockchain for added security.
from_file: "/opt/aptos/etc/waypoint.txt"
execution:
# Path to a genesis transaction. Note, this must be paired with a waypoint. If you update your
# waypoint without a corresponding genesis, the file location should be an empty path.
genesis_file_location: "/opt/aptos/etc/genesis.blob"
full_node_networks:
- network_id: "public"
discovery_method: "onchain"
identity:
type: "from_config"
key: "这里换成自己生成的私钥"
peer_id: "这里换成自己生成的PeerID"
# The network must have a listen address to specify protocols. This runs it locally to
# prevent remote, incoming connections.
listen_address: "/ip4/0.0.0.0/tcp/6180"
# Define the upstream peers to connect to
seeds:
bb14af025d226288a3488b4433cf5cb54d6a710365a2d95ac6ffbd9b9198a86a:
addresses:
- "/dns4/pfn0.node.devnet.aptoslabs.com/tcp/6182/ln-noise-ik/bb14af025d226288a3488b4433cf5cb54d6a710365a2d95ac6ffbd9b9198a86a/ln-handshake/0"
role: "Upstream"
7fe8523388084607cdf78ff40e3e717652173b436ae1809df4a5fcfc67f8fc61:
addresses:
- "/dns4/pfn1.node.devnet.aptoslabs.com/tcp/6182/ln-noise-ik/7fe8523388084607cdf78ff40e3e717652173b436ae1809df4a5fcfc67f8fc61/ln-handshake/0"
role: "Upstream"
f6b135a59591677afc98168791551a0a476222516fdc55869d2b649c614d965b:
addresses:
- "/dns4/pfn2.node.devnet.aptoslabs.com/tcp/6182/ln-noise-ik/f6b135a59591677afc98168791551a0a476222516fdc55869d2b649c614d965b/ln-handshake/0"
role: "Upstream"
api:
# This specifies your REST API endpoint. Intentionally on public so that Docker can export it.
address: 0.0.0.0:8080
修改后的结果如下:

3.2 修改 docker-compose 编排文件

这是最重要的一步,打开 docker-compose.yaml 编排文件,并修改端口配置。
找到 ports 属性,并修改冒号左侧的端口,这里我将 8080 修改为 8081,将 9101 修改为 9102,将 6180 修改为 6181。
注意:
  • 修改后的端口一定要是可用的,没有其他程序占用,否则节点将无法运行;
  • "6180:6180" 默认不存在,可以不修改。
  • 注意本步骤中,将 9101 端口修改为 9102,最后检查节点时,命令也有所修改。
修改结果如下图所示:

4. 运行新的全节点

aptos-node-1 目录下,输入如下命令运行节点:
# 更新镜像
sudo docker-compose pull
# 运行节点
sudo docker-compose up -d
查看节点运行状态:
sudo docker ps -a
node container running
至此,新的节点已经启动完成。

5. 检查新节点

注:
  • 确保节点是运行中,否则执行下面的命令会出错!
  • 新节点的端口有变化,在第三步中,将 9101 修改为 9102,因此命令也有所修改

Windows 用户

在浏览器中访问:http://127.0.0.1:9102/metrics

MacOS/Linux 用户

执行如下命令查看同步状态:
curl 127.0.0.1:9102/metrics 2> /dev/null | grep aptos_state_sync_version | grep type
Copy link
On this page
1. 创建新的节点目录
2. 下载 Aptos 节点运行所需文件
3. 修改配置
3.1 修改新的静态身份
3.2 修改 docker-compose 编排文件
4. 运行新的全节点
5. 检查新节点