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 源#
sudo apt upgrade
sudo apt update
安装 Git#
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 为例
下载分发包
wget https://go.dev/dl/go1.20.14.linux-amd64.tar.gz
解压文件
sudo tar -xvf go1.20.14.linux-amd64.tar.gz
移动到 usr 目录
sudo mv go /usr/local
删除安装包
sudo rm go1.20.14.linux-amd64.tar.gz
将 go 添加到系统环境变量
sudo vim ~/.bashrc
按 i
开始在 ~/.bashrc
文件中插入文本
滚动到文件末尾,在末尾的新行中插入以下内容:
GOROOT=/usr/local/go
GOPATH=$HOME/go
PATH=$GOPATH/bin:$GOROOT/bin:$PATH
按 esc
键停止插入文本模式,输入 :wq
然后按键盘上的回车键
运行
source ~/.bashrc
go version
终端会返回
go version go1.20.14 linux/amd64
配置 Linux 网络设备设置#
目的:优化 Q 等网络中典型的大型并行工作的吞吐量(带宽)和延迟。
运行
sudo vim /etc/sysctl.conf
按 i
开始在/etc/sysctl.conf
文件中插入文本
滚动到文件末尾,在末尾的新行中插入以下内容:
# Increase buffer sizes for better network performance
net.core.rmem_max=600000000
net.core.wmem_max=600000000
按 esc
键停止插入文本模式,输入 :wq
然后按键盘上的回车键
运行
sudo sysctl -p
重启让配置生效
reboot
部署 Quilibrium 节点#
克隆 Quilibrium CeremonyClient 资源库#
运行
cd ~
git clone https://github.com/QuilibriumNetwork/ceremonyclient.git
进入 ceremonyclient/node 文件夹
注意:后续所有命令都将在 node/ 文件夹中运行。
cd ceremonyclient/node
导入 voucher hex(可选)#
注:仅适用于拥有线下 voucher 的用户,如果您没有凭证,请跳过本节。
运行:
sudo vim /root/voucher.hex
按 i
开始在 voucher.hex
文件中插入文本
将 228 个字符的凭证十六进制复制粘贴到文件中
按 esc
键停止插入文本模式,输入 :wq
然后按键盘上的回车键
运行:
GOEXPERIMENT=arenas go run ./... -import-priv-key `cat /root/voucher.hex`
记下您的 Peer ID。 Peer ID 以后可能会成为您的 Q 钱包。
它将是回复中的最后一行,以 "Qm" 开头,并标有 Peer ID。
初始化 Q 钱包和 .config 文件夹#
仅适用于跳过上一个章节的情况,因为您没有线下 voucher,而且您正在安装一个新的 Q 节点。
运行:
cd ~/ceremonyclient/node
GOEXPERIMENT=arenas go run ./...
由于这将触发 Q 节点启动,您现在真正需要的是启动脚本在 ~/ceremonyclient/node
内创建 .config
文件夹,并创建 config.yml
和 keys.yml
这两个文件。
一旦看到日志生成,就可以按下 ctl + c
暂停节点。
配置网络防火墙#
运行:
sudo ufw enable
依次放行 22
8336
443
端口
sudo ufw allow 22
sudo ufw allow 8336
sudo ufw allow 443
运行:
sudo ufw status
终端会返回
> 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 文件夹:
cd ~/ceremonyclient/node
运行:
sudo vim .config/config.yml
按 i
键开始在 config.yml
文件中插入文本
在文件末尾的一行,有一个字段 listenGrpcMultiaddr:""
,将其替换为
listenGrpcMultiaddr: /ip4/127.0.0.1/tcp/8337
按 esc
键停止插入文本模式,输入 :wq
然后按键盘上的回车键退出。
通过选择启用统计数据收集#
进入 ceremonyclient/node 文件夹:
cd ~/ceremonyclient/node
运行:
sudo vim .config/config.yml
按 i
键开始在 config.yml
文件中插入文本
在文件中间部分的一行,有一个engine
字段,添加一个名为 statsMultiaddr
的子字段
engine:
statsMultiaddr: "/dns/stats.quilibrium.com/tcp/443"
快速运行节点#
所有命令都将在 node/ 文件夹中运行。
cd ~/ceremonyclient/node
启动节点
GOEXPERIMENT=arenas go run ./...
查看 Peer ID
GOEXPERIMENT=arenas go run ./... -peer-id
代币余额
GOEXPERIMENT=arenas go run ./... -balance
进阶配置#
TBC