项目官网: https://qu.ai/
discord:https://discord.com/invite/quai
Quai的官方文档非常清晰,建议阅读官方文档,能获取到更准确的信息:
https://docs.qu.ai/guides/client/node
Quai需要用显卡挖矿,挖矿需要先运行一个节点,节点和显卡机可以不在同一台机器(也可以在同一台)。windows无法部署(wsl也不行)。挖矿建议使用nvidia显卡,amd的算力极低。
Quai是并行evm架构,可以由很多个切片链组成。
节点分为全节点和切片节点,全节点保存所有切片的数据,切片节点可以选择保存一个或几个切片的数据。
每个切片链的挖矿难度不同,全节点的好处是可以随意选择要挖矿的链。
全节点和切片节点的硬件配置要求:
测试网刚开始时只有一个切片cyprus1 ([0 0]),因此前期不需要过高的配置,可能会逐步增加切片。
部署Quai节点
安装依赖项
安装go1.23
wget -c https://golang.org/dl/go1.23.2.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile && source /etc/profile
验证go版本
go version
安装编译环境
sudo apt install git make g++ screen -y
安装节点程序go-quai
sudo mkdir /data/ && cd /data/
git clone https://github.com/dominant-strategies/go-quai
cd go-quai
# 最新版本号可以在这里查看: https://github.com/dominant-strategies/go-quai/tags
git checkout v0.39.4
make go-quai
运行节点
启动节点时需要指定一个quai地址和qi地址,钱包chrome插件在这里下载https://pelaguswallet.io/
目前只有一个分片crypus1,创建钱包之后这个就是quai地址:
qi挖矿地址要在设置里创建:
为了保证节点一直在后台运行,我们可以用screen命令开启一个虚拟终端,这样就可以把程序放后台了。
screen -S node
(如果此窗口中断,可使用 screen -r node恢复)
下载节点快照
从0开始同步需要花费很长时间,建议通过快照同步。
wget https://storage.googleapis.com/colosseum-db/goldenage_backups/quai-goldenage-backup.tgz
tar -xvf quai-goldenage-backup.tgz
# ~/.local/share/go-quai 是节点的数据目录,需要把解压好的快照文件复制过去。
# 如果你之前运行过节点,需要先把此目录删除: rm -rf ~/.local/share/go-quai
cp -r quai-goldenage-backup ~/.local/share/go-quai
快照下好之后,启动节点
cd /data/go-quai
# - node.slices参数指定要挖矿的分片索引号,目前只有crypus1,它的索引号是[0 0]。 - node.coinbases 引号内分别指定Quai地址和Qi地址,以逗号分隔 。--node.miner-preference表示以 Quai 或 Qi 代币支付的区块奖励比例。比如,如果想全部以quai接受区块奖励,则设置为0,quai和qi各一半则设置为0.5
./build/bin/go-quai start --node.slices '[0 0]' --node.genesis-nonce 6224362036655375007 --node.quai-coinbases 'Quai地址' --node.qi-coinbases 'Qi地址' --node.miner-preference '0' --node.coinbase-lockup 0
注意新版本增加了锁仓参数,建议直接设置为3,锁仓7天增加25%的币。
如果需要停止节点,需要在终端中使用 CTRL+C,如果强行杀掉进程或直接关机,可能导致数据库损坏。
如果数据库损坏,需删除节点的数据目录并重新同步,数据目录在:
~/.local/share/go-quai/
节点日志文件保存在go-quai目录下的nodelogs里,可以查看日志是否正常
tail -f /data/go-quai/nodelogs/global.log # 主要看这个日志
tail -f /data/go-quai/nodelogs/region-0.log
tail -f /data/go-quai/nodelogs/zone-0-0.log
我们可以过滤日志是否有Appended信息产生,如果有的话就代表节点正在正常同步。等日志中输出的高度和区块浏览器的高度一致之后再开始挖矿。区块浏览器: https://quaiscan.io/blocks?shard=unknown1
tail -f /data/go-quai/nodelogs/*.log | grep Appended
部署Stratum Proxy
节点跑起来之后,显卡并不能直接连接到节点挖矿,需要部署一个中间层Stratum Proxy
cd /data/
git clone https://github.com/dominant-strategies/go-quai-stratum
cd go-quai-stratum
# 最新版本号可以在这里查看: https://github.com/dominant-strategies/go-quai-stratum/tags
git checkout v0.16.0
# 复制示例配置文件,这个文件可以配置节点端口信息和其他网络变量,如果节点没有做端口修改,则无需改动此文件
cp config/config.example.json config/config.json
make go-quai-stratum
go-quai-stratum可以使用--region 和 --zone参数
指定选择哪个分片挖矿,目前只有crypus1,因此我们运行:
screen -S stratum
cd /data/go-quai-stratum
./build/bin/go-quai-stratum --region=cyprus --zone=cyprus1 --stratum=3333
# 可以使用 --stratum=端口号 来指定代理层要监听的端口
部署矿工程序
显卡挖矿程序必须运行在hiveos或ubuntu上。显卡可以和节点不在同一台机器。
官方提供了一个自动安装脚本,此脚本会安装cuda 12.6,并编译矿工程序。
sudo wget https://raw.githubusercontent.com/dominant-strategies/quai-gpu-miner/refs/heads/main/deploy_miner.sh
sudo chmod +x deploy_miner.sh
sudo ./deploy_miner.sh
chmod +x output/quai-gpu-miner
cp output/quai-gpu-miner /usr/local/bin/
如果编译失败,我们可以直接用官方提供的二进制程序。最新版本可以在这里找到:https://github.com/dominant-strategies/quai-gpu-miner/releases
复制二进制的链接,直接在命令行下载,并增加执行权限:
wget -P /usr/local/bin/ https://github.com/dominant-strategies/quai-gpu-miner/releases/download/v0.2.0/quai-gpu-miner
chmod +x /usr/local/bin/quai-gpu-miner
如果你还没有安装显卡驱动:
apt update
apt install nvidia-driver-560 -y
# 验证是否安装成功
nvidia-smi
开始挖矿
screen -S miner
quai-gpu-miner -U -P stratum://节点所在ip:3333 2>&1 | tee -a /var/log/miner.log
日志里有Accepted信息就代表挖到区块,可以过滤查看:
grep Accepted /var/log/miner.log
或者通过区块浏览器搜索钱包查看:
备份节点(可选)
quai的节点如果异常退出,如强制杀掉进程或断电关机,可能会导致数据库损坏,则需要花费很长时间重新同步。建议定时把数据目录备份到其他目录或硬盘。
mkdir /backup/quai
rsync -avzP --delete ~/.local/share/go-quai/ /backup/quai/go-quai/
加入定时任务:
执行 crontab -e 在最后面写入:
# 每60分钟同步一次
*/60 * * * * /usr/bin/rsync -avzP --delete ~/.local/share/go-quai/ /backup/quai/go-quai/
如果内网有其他机器,建议备份到别的机器上:
rsync -avzP --delete ~/.local/share/go-quai/ root@IP地址:/backup/quai/go-quai/
升级节点
最新版本在这里查看
Tags · dominant-strategies/go-quai
Official Go Implementation of the Quai Network. Contribute to dominant-strategies/go-quai development by creating an…
github.com
先正常停止节点(ctrl+c)
# 删除peer文件,否则升级后还是会出现异常
rm -rf ~/.local/share/go-quai/0xba33a6807db85d5de6f51ff95c4805feaa9b81951a57e43254117d489031e96f
cd /data/go-quai
git pull && git fetch --tags
git checkout v0.39.4
git status
make go-quai
升级之后重新启动节点:
# 注意更换你自己的quai和qi地址。
./build/bin/go-quai start --node.slices '[0 0]' --node.genesis-nonce 6224362036655375007 --node.quai-coinbases 'Quai地址' --node.qi-coinbases 'Qi地址' --node.miner-preference '0'
可以多开,具体技术评论区留言或加入群组交流