Quilibrium Node 基础搭建教程

Created by Royc30ne. Thanks Demipoet's initial version.
最后更新于版本：1.4.5 (Sunset) 2024/3/6

项目官网：Quilibrium
项目简介：Quilibrium 是一种去中心化的互联网层协议，可在不牺牲隐私或可扩展性的情况下提供云计算的舒适性。通过熟悉的 API 兼容 SDK，转向 NoCloud 可能比您想象的要容易得多。

节点运行最低配置要求

在 Dawn 阶段，服务器必须至少有 16GB 内存（最好是 32GB）、250GB 存储空间（最好是固态硬盘）和 50MBps 对称带宽。对于英特尔 / AMD，基准处理器为 3.4GHz 的 Skylake 处理器，具有 12 个专用内核。对于 ARM，可以参考苹果的 M1 系列

安装依赖

更新 apt 源

Copy
sudo apt upgrade
sudo apt update

安装 Git

Copy
sudo apt install git

安装 GO

目前的版本（截至 1.2.14）不支持使用 go1.21.x 或 go1.19.x 进行项目构建，必须使用 go1.20.x。go 不同版本的安装包可以在这个页面找到: https://go.dev/dl/

这里 1.20.14 为例
下载分发包

Copy
wget https://go.dev/dl/go1.20.14.linux-amd64.tar.gz

解压文件

Copy
sudo tar -xvf go1.20.14.linux-amd64.tar.gz

移动到 usr 目录

Copy
sudo mv go /usr/local

删除安装包

Copy
sudo rm go1.20.14.linux-amd64.tar.gz

将 go 添加到系统环境变量

Copy
sudo vim ~/.bashrc

按 i 开始在 ~/.bashrc 文件中插入文本
滚动到文件末尾，在末尾的新行中插入以下内容：

Copy
GOROOT=/usr/local/go
GOPATH=$HOME/go
PATH=$GOPATH/bin:$GOROOT/bin:$PATH

按 esc 键停止插入文本模式，输入 :wq然后按键盘上的回车键

运行

Copy
source ~/.bashrc
go version

终端会返回

Copy
go version go1.20.14 linux/amd64

配置 Linux 网络设备设置

目的：优化 Q 等网络中典型的大型并行工作的吞吐量（带宽）和延迟。

运行

Copy
sudo vim /etc/sysctl.conf

按 i 开始在/etc/sysctl.conf文件中插入文本
滚动到文件末尾，在末尾的新行中插入以下内容：

Copy
# Increase buffer sizes for better network performance
net.core.rmem_max=600000000
net.core.wmem_max=600000000

按 esc 键停止插入文本模式，输入 :wq然后按键盘上的回车键

运行

Copy
sudo sysctl -p

重启让配置生效

Copy
reboot

部署 Quilibrium 节点

克隆 Quilibrium CeremonyClient 资源库

运行

Copy
cd ~
git clone https://github.com/QuilibriumNetwork/ceremonyclient.git

进入 ceremonyclient/node 文件夹

注意：后续所有命令都将在 node/ 文件夹中运行。

Copy
cd ceremonyclient/node

导入 voucher hex（可选）

注：仅适用于拥有线下 voucher 的用户，如果您没有凭证，请跳过本节。

运行：

Copy
sudo vim /root/voucher.hex

按 i 开始在 voucher.hex 文件中插入文本
将 228 个字符的凭证十六进制复制粘贴到文件中
按 esc 键停止插入文本模式，输入 :wq然后按键盘上的回车键

运行：

Copy
GOEXPERIMENT=arenas go run ./... -import-priv-key `cat /root/voucher.hex`

记下您的 Peer ID。 Peer ID 以后可能会成为您的 Q 钱包。
它将是回复中的最后一行，以 "Qm" 开头，并标有 Peer ID。

初始化 Q 钱包和 .config 文件夹

仅适用于跳过上一个章节的情况，因为您没有线下 voucher，而且您正在安装一个新的 Q 节点。

运行：

Copy
cd ~/ceremonyclient/node
GOEXPERIMENT=arenas go run ./...

由于这将触发 Q 节点启动，您现在真正需要的是启动脚本在 ~/ceremonyclient/node 内创建 .config 文件夹，并创建 config.yml 和 keys.yml 这两个文件。

一旦看到日志生成，就可以按下 ctl + c暂停节点。

配置网络防火墙

运行：

Copy
sudo ufw enable

依次放行 22 8336 443端口

Copy
sudo ufw allow 22
sudo ufw allow 8336
sudo ufw allow 443

运行：

Copy
sudo ufw status

终端会返回

Copy
> To Action From
> -- ------ -----
> 22 ALLOW Anywhere
> 8336 ALLOW Anywhere
> 443 ALLOW Anywhere
> 22 (v6) ALLOW Anywhere (v6)
> 8336 (v6) ALLOW Anywhere (v6)
> 443 (v6) ALLOW Anywhere (v6)

配置 config.yml

启用 gRPC 以启用节点的 gRPC 功能调用

注意：该接口为只读接口，未经身份验证，不限制速率。建议仅在通过防火墙适当控制访问或仅通过本地主机查询的情况下启用它们（例如，如果 8337 端口用于 gRPC 调用，最好以后不要在防火墙配置中允许它，而仅在本地主机上触发 gRPC 调用）。

进入 ceremonyclient/node 文件夹：

Copy
cd ~/ceremonyclient/node

运行：

Copy
sudo vim .config/config.yml

按 i 键开始在 config.yml 文件中插入文本
在文件末尾的一行，有一个字段 listenGrpcMultiaddr：""，将其替换为

Copy
listenGrpcMultiaddr: /ip4/127.0.0.1/tcp/8337

按 esc 键停止插入文本模式，输入 :wq然后按键盘上的回车键退出。

通过选择启用统计数据收集

进入 ceremonyclient/node 文件夹：

Copy
cd ~/ceremonyclient/node

运行：

Copy
sudo vim .config/config.yml

按 i 键开始在 config.yml 文件中插入文本
在文件中间部分的一行，有一个engine字段，添加一个名为 statsMultiaddr的子字段

Copy
engine:
statsMultiaddr: "/dns/stats.quilibrium.com/tcp/443"

快速运行节点

所有命令都将在 node/ 文件夹中运行。

Copy
cd ~/ceremonyclient/node

启动节点

Copy
GOEXPERIMENT=arenas go run ./...

查看 Peer ID

Copy
GOEXPERIMENT=arenas go run ./... -peer-id

代币余额

Copy
GOEXPERIMENT=arenas go run ./... -balance

进阶配置

TBC