Links

Windows

开发网 Windows 运行全节点教程(非测试网)

1. 安装 Docker

在运行节点之前,我们需要安装 Docker。 您可以从这里下载适用于 Windows 的 Docker Desktop。
下载完成后,您将在下载文件夹中找到可执行文件。
Downloaded Docker
打开 Docker Desktop Installer.exe,并开始安装过程。
安装完成后,Docker 会自动启动。
Docker Installed

2. 安装 WSL 2

Docker 需要安装额外的依赖项才能在 Windows 上运行 Linux 容器。
您将收到类似于以下通知的通知,单击提供的链接,将打开一个新的浏览器窗口,我们可以下载依赖项。
WSL Notice
点击链接 "Download the latest package"
Download WSL 2
你可以在下载目录中找到可执行文件:
WSL 2 Downloaded
点击可执行文件开始安装:
Install WSL 2
安装完成后你可以点击重启或 Restart。
Restart WSL 2

3. 启动 Docker Desktop

打开双击 Docker Desktop application you should see t应用程序,以下是启动中的截图:
Docker Desktop App is starting
当 Docker Desktop 启动成功后,黄色图标会变绿。
Docker Desktop Started

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

4.1 新建 aptos-node 文件夹

您可以在 C 盘 或 D 盘下新建 aptos-node 文件夹。
注意:
  • 文件夹名称不要出现中文等特殊字符。

4.2 下载节点文件

请将文件都下载到 aptos-node 目录下:
docker-compose.yaml
2KB
Code
public_full_node.yaml
2KB
Code
  • 创世区块文件:genesis.blob (文件可能会经常更新,所以请点击左侧链接下载最新)
  • waypoint(可验证检查点)文件:waypoint.txt(文件可能会经常更新,所以请点击左侧链接下载最新;如果没有自动下载,请在页面上 Ctrl + s 保存即会下载)
下载完成后:
Download Aptos node files

5. 创建静态身份

创建静态身份的目的是,每次启动都使用这个身份。
在文件夹内,地址栏中输入【powershell】,即可打开命令行界面:
Open Powershell CLI

5.1 生成私钥、公钥和 Peer ID

在打开的命令行界面分别输入下面的命令生成私钥:
docker pull aptoslabs/tools:devnet
sudo docker run --rm aptoslabs/tools:devnet sh -c "echo '开始生成私钥...' && aptos key generate --encoding hex --key-type x25519 --output-file /root/private-key.txt && echo '\n\n开始生成公钥和 Peer ID...' && aptos key extract-peer --encoding hex --private-key-file /root/private-key.txt --output-file /root/peer-info.yaml && echo '\n\n您的私钥:' && cat /root/private-key.txt && echo '\n\n您的公钥和 Peer ID 信息如下:' && cat /root/peer-info.yaml"
运行的结果如下:
开始生成私钥...
{
"Result": "Success"
}
开始生成公钥和 Peer ID...
{
"Result": {
"3129d20a6ebb3a92be794db60416e6eb92c826d2733c391a4f8ee6d4e573b764": {
"addresses": [],
"keys": [
"3129d20a6ebb3a92be794db60416e6eb92c826d2733c391a4f8ee6d4e573b764"
],
"role": "Downstream"
}
}
}
您的私钥:
08500EDFBE94721A8D5614529AAC4E1AF427BB47498EC0E1A65815057137516A
您的公钥和 Peer ID 信息如下:
---
3129d20a6ebb3a92be794db60416e6eb92c826d2733c391a4f8ee6d4e573b764:
addresses: []
keys:
- 3129d20a6ebb3a92be794db60416e6eb92c826d2733c391a4f8ee6d4e573b764
role: Downstream
  • 08500EDFBE94721A8D5614529AAC4E1AF427BB47498EC0E1A65815057137516A 就是私钥;
  • 3129d20a6ebb3a92be794db60416e6eb92c826d2733c391a4f8ee6d4e573b764 是 Peer ID,也是公钥;
⚠ 上面的私钥、公钥(Peer ID)都需要备份!

5.2 修改全节点的静态身份

打开 public_full_node.yaml 文件【文件名上右击 -> 打开方式 -> 记事本】,并修改成如下信息:
提醒:
  • 请使用上一步自己生成的私钥和 Peer ID,以下示例仅供参考。
  • 请妥善保存好私钥;(公钥和 Peer ID 是由私钥生成的)
  • 一定要按如下格式修改。(下面有替换示例截图🙂)
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"
state_sync:
state_sync_driver:
enable_state_sync_v2: true
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/noise-ik/bb14af025d226288a3488b4433cf5cb54d6a710365a2d95ac6ffbd9b9198a86a/handshake/0"
role: "Upstream"
7fe8523388084607cdf78ff40e3e717652173b436ae1809df4a5fcfc67f8fc61:
addresses:
- "/dns4/pfn1.node.devnet.aptoslabs.com/tcp/6182/noise-ik/7fe8523388084607cdf78ff40e3e717652173b436ae1809df4a5fcfc67f8fc61/handshake/0"
role: "Upstream"
f6b135a59591677afc98168791551a0a476222516fdc55869d2b649c614d965b:
addresses:
- "/dns4/pfn2.node.devnet.aptoslabs.com/tcp/6182/noise-ik/f6b135a59591677afc98168791551a0a476222516fdc55869d2b649c614d965b/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
替换示例:

6. 运行全节点

在前面的文件夹中,地址栏中输入【powershell】,打开命令行界面:
Open Powershell CLI
在命令中分别输入如下命令:
docker-compose pull
docker-compose up -d
Run aptos node
左侧是运行的结果,右侧是在 Docker Desktop 中看到运行中状态的节点。你可以在图形化界面中管理你的节点状态。

7. 检查节点

在浏览器中访问:http://127.0.0.1:9101/metrics
确保节点是运行中,否则无法访问上面的地址!

7.1 查看 Peer ID

在页面搜索:peer
  • Peer ID 要是上面自己填写的前缀;

7.2 查看同步状态

在页面搜索:aptos_state_sync_version
Aptos 网络看板可以查看当前区块高度(用于检查本地节点同步情况):https://status.devnet.aptos.dev

8. 节点更新

本节仅用于每周五的节点更新使用。

8.1 关闭节点

8.2 删除数据文件

在【Volumes】中找到 node_db 并点击删除。

8.3 删除 genesis.blobwaypoint.txt 文件并重新下载

进入之前下载文件的目录,重新下载覆盖以下两个文件:
注意:
  • 2022年6月10日更新:本周必须更新public_full_node.yaml 文件

8.4 更新节点镜像

在更新文件的目录下进入命令行界面,并运行如下命令:
docker-compose pull

8.5 启动全节点

在上面的命令行界面中运行如下命令:
docker-compose up -d