Cover photo

如何0基础学会搭建Sui 开发网全节点 | 节点教程

项目简介

SUI 是一个专门针对元宇宙、NFT、Web3 开发的一条POS公链,支持每秒数十万笔交易、近乎实时的确定性、Move 驱动的可编程性和水平扩展的存储。截至 2022 年 3 月 19 日,在 8 核 M1 Macbook Pro 上运行的未优化单个Sui 节点,可以每秒执行和提交 120,000 个传输事务 (TPS)。

提示:图文教程持续优化中,如有与视频教程不符之处,以本图文教程为准。

1 、购买并登录云服务器、打开9000和9184端口

激励测试网报名注册需要运行全节点,如被选中参与激励测试网,测试期间需要运行验证者节点

官方对于运行全节点的最低硬件要求如下:

  • vCPU:2

  • 内存:8GB

  • 硬盘存储:50GB

官方对于运行激励测试网验证者节点的硬件要求如下:

  • vCPU:8

  • 内存:32GB

  • 硬盘存储:128GB

服务器地域建议选择 非大陆地区,以确保下载文件时网络通畅。

镜像(操作系统)建议选择 Ubuntu 22.04

购买服务器后,需要打开9000、9184端口。

具体可参考我们之前的教程:

视频教程:https://www.youtube.com/watch?v=WYwvb2wSsXI

图文教程:https://mirror.xyz/0x2ba8f8db6c26fB36F14F9a8c32158e201632d677/ohXpgZTXYmcVM8YvgUOYO3xoGgC4gWMZCkcw5xefss4

2 安装Docker和Docker Compose

安装Docker:将以下命令复制后,切换到putty,单击鼠标右键完成粘贴,然后按Enter执行命令。

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $USER && sudo su $USER

安装Docker Compose:

sudo curl -SL https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

检查是否安装成功:

docker -v && docker-compose -v

如安装成功,会输出docker和docker compose的版本信息:

Docker version 20.10.17, build 100c701Docker Compose version v2.6.1

mkdir -p ~/sui/devnet && cd ~/sui/devnet

4 下载节点配置文件

wget https://github.com/MystenLabs/sui/raw/main/crates/sui-config/data/fullnode-template.yaml
wget https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob
wget https://raw.githubusercontent.com/MystenLabs/sui/main/docker/fullnode/docker-compose.yaml

检查是否下载成功:执行命令 ls ,会列出以下3个配置文件:

docker-compose.yaml fullnode-template.yaml genesis.blob

修改全节点监听地址:

sed -i 's/127.0.0.1/0.0.0.0/' fullnode-template.yaml

5 启动、关闭节点

启动节点:

cd ~/sui/devnet && docker-compose up -d

关闭节点:

cd ~/sui/devnet && docker-compose stop

重置环境:(更新节点之前 或 永久停止节点时使用此命令)

cd ~/sui/devnet && docker-compose down --volumes

6 测试

全节点启动运行后,可以使用以下命令进行测试:

该命令可获取最近的5笔交易:

curl --location --request POST 'http://127.0.0.1:9000' \
--header 'Content-Type: application/json' \
--data-raw '{ "jsonrpc":"2.0", "id":1, "method":"sui_getRecentTransactions", "params":[5] }'

如输出:{"jsonrpc":"2.0","result":[],"id":1} 等类似的json格式内容,则节点已成功启动

也可使用社区开发的网站监测节点状态:https://node.sui.zvalid.com/

7 激励测试网

如需要重置节点更新节点版本,使用以下命令可以关闭、重置、更新并重启节点:

cd ~/sui/devnet && docker-compose stop
wget -O genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob
docker-compose down --volumes && docker-compose pull && docker-compose up -d

加入sui的discord:https://discord.gg/sui

填表注册激励测试网:https://airtable.com/shr3phh3FCZYhZUDF

注册后等邮件通知,如未被选中,可以关闭全节点。

Sui相关链接

官方版教程:https://github.com/MystenLabs/sui/tree/main/docker/fullnode#readme

官网:https://sui.io/

白皮书:https://github.com/MystenLabs/sui/blob/main/doc/paper/sui.pdf

领英:https://www.linkedin.com/company/mysten-labs/

推特:https://twitter.com/mysten_labs

Discord:https://discord.gg/sui

开发文档:https://docs.sui.io/