【保姆教程】手把手教你在Linux系统搭建早期alpha项目cysic的验证者&证明者

Cysic项目背景

Cysic是ZK硬件加速平台,致力于设计先进的 ASIC 芯片,帮助缩短 ZK 证明生成时间,成为首个 ZK Prover Network。Cysic是一个实时的 ZK 证明生成和验证层,旨在以最快、最便宜、最简单、最去中心化的方式提供 ZK 证明。 Cysic 最近完成了 1200 万美元的 pre - A 轮融资,OKX Ventures 和 HashKey Capital 联合领投。加上去年 2 月种子轮融资600万美元,Polychain Capital 领投。目前共融资1800万美元。

第一阶段测试网将引入验证者奖励,以验证者身份加入的用户将仅根据验证贡献获得奖励,计算资源提供者预计将在第二阶段获得奖励,参与者获得的积分将通过一定比例等奖励兑换为主网代币。Cysic Network的主网预计将于2025年Q1上线。

Cysic账号登记

如果你是新人,不知道Chrome浏览器如何安装Metamask小狐狸钱包或者Keplr钱包,建议你上网搜索一下,先把这两个钱包插件安装好,然后每个钱包新建一个地址,记得保存好私钥和助记词。做完这一步之后再往下看,这篇教程假设你已经事先安装好了metamask和Keplr两款钱包。

双钱包同步账号

在连接cysic官网之前,还需要保证2个钱包的地址相同,否则会报地址不匹配的错误。那如何保证呢?我们可以将metamask钱包地址导入到keplr钱包。

:如何将metamask小狐狸钱包的地址导入到Keplr钱包?

:点击metamask小狐狸钱包地址-->点击'导出私钥'-->点击keplr钱包右上角-->添加钱包-->导入已有钱包-->使用助记词或私钥-->粘贴小狐狸钱包的私钥-->导入

连接官网

用Chrome浏览器打开官网,首先连接Metamask小狐狸钱包,接着连接Keplr开普勒钱包。 连上之后,钱包左边会出现一个水龙头图标,每天可以点击领0.1个cys,后续可以兑换成主网代币。 【注意】当前阶段注册还需要填入邀q码才可以登记账号,自己去资料吧找。

Cysic验证者(verifier)

跑Cysic验证者对硬件的要求不算太高,官方建议配置如下:

CPU: Single Core

Memory: 8 GB

Disk: 512 MB

Bandwidth: 100 KB/s upload/download

Supported Operating Systems: Windows, Linux, Mac

以Ubuntu系统为例,打开Terminal终端,Windows系统可以打开WSL终端,执行官网如下命令:

bash 复制代码
wget -O ~/setup_linux.sh https://github.com/cysic-labs/phase2_libs/releases/download/v1.0.0/setup_linux.sh  
chmod +x setup_linux.sh 
./setup_linux.sh 钱包EVM地址
cd ~/cysic-verifier
./start.sh

windows或mac平台的教程,请自行移步官方参考

当输出日志如下,就说明验证者verifier在正常跑了。

yaml 复制代码
2024/12/05 12:23:14 sync to block: 301227
2024/12/05 12:23:38 sync to block: 301230
2024/12/05 12:24:10 sync to block: 301233
2024/12/05 12:24:38 sync to block: 301235
2024/12/05 12:25:08 sync to block: 301238
2024/12/05 12:25:38 sync to block: 301241
2024/12/05 12:26:08 sync to block: 301244
2024/12/05 12:26:38 sync to block: 301246
2024/12/05 12:27:08 sync to block: 301250
2024/12/05 12:27:38 sync to block: 301253
2024/12/05 12:28:08 sync to block: 301255
2024/12/05 12:28:39 sync to block: 301259
2024/12/05 12:29:08 sync to block: 301262
2024/12/05 12:29:38 sync to block: 301265
2024/12/05 12:30:11 sync to block: 301268
2024/12/05 12:30:39 sync to block: 301270
2024/12/05 12:31:08 sync to block: 301271
2024/12/05 12:31:38 sync to block: 301276
2024/12/05 12:32:08 sync to block: 301279
2024/12/05 12:32:38 sync to block: 301282
2024/12/05 12:33:08 sync to block: 301285
2024/12/05 12:33:38 sync to block: 301288

当然,可以用下面nohup命令将验证者挂到后台执行。

bash 复制代码
nohup ./start.sh &

查看日志用命令:

bash 复制代码
tail -f -n 10 nohup.out

Cysic证明者(prover)

官方提供了Scroll Prover和Aleo Prover两种,目前推荐的是跑Scroll Prover。需要提醒的是,跑Cysic证明者对硬件的要求非常非常高,不过证明者同时每天产生的代币也相对可观,官方建议配置如下:

CPU: 64-thread CPU

GPU: 2 × 3070/2080 GPUs

Memory: 280 GB

Disk: 100 GB SSD

Bandwidth: 100 KB/s upload/download

Supported Operating Systems: Linux

没看错,内存确实是需要280GB,普通家庭电脑甚至VPS积分都不能满足要求,一般考虑租赁(见教程结尾),租赁需要成本,成本不低,自行决定。经本人测试,显卡不一定需要双卡,单卡也能跑。

以Ubuntu系统为例,打开Terminal终端,Windows系统可以打开WSL终端,执行官网如下命令:

bash 复制代码
curl -L https://github.com/cysic-labs/phase2_libs/releases/download/v1.0.0/setup_linux.sh > ~/setup_linux.sh && bash ~/setup_linux.sh 钱包EVM地址 
cd ~/cysic-verifier/ && bash start.sh

证明者大部分时间日志也是同上面的验证者一样,在同步区块。只是当接到计算任务的时候,就会开始消耗大量的内存和显卡资源,日志类似这样:

php 复制代码
Context "Range" used 1 advice columns and 7710522 total advice cells in phase 0
Special lookup advice cells: optimal columns: 0, total 0 cells used in phase 0.
Fixed columns: 1, Total fixed cells: 276286
2024-12-05T16:09:46.925712007+08:00 INFO halo2_proofs::poly::domain - using lagrange_to_coeff_many: vec_num[1], gpu_num [1]
2024-12-05T16:09:47.443251978+08:00 INFO halo2_proofs::poly::domain - using lagrange_to_coeff_many: vec_num[0], gpu_num [1]
2024-12-05T16:09:47.574210680+08:00 INFO halo2_proofs::plonk::prover - phase1 [1] GPUs free mem = | 22.30 | GiB
in bytes = | 23945281536 | 
2024-12-05T16:09:52.910266957+08:00 INFO halo2_proofs::plonk::prover - phase2 [1] GPUs free mem = | 22.30 | GiB
in bytes = | 23945281536 | 
2024-12-05T16:09:52.910512650+08:00 INFO halo2_proofs::plonk::permutation::prover - domain.k() = 25
2024-12-05T16:09:52.910526156+08:00 INFO halo2_proofs::plonk::permutation::prover - domain.extended_k() = 27
2024-12-05T16:09:52.910543398+08:00 INFO halo2_proofs::plonk::permutation::prover - columns.len() = 3
2024-12-05T16:09:52.910563156+08:00 INFO halo2_proofs::plonk::permutation::prover - pkey.permutations.len() = 3
2024-12-05T16:09:52.910581901+08:00 INFO halo2_proofs::plonk::permutation::prover - chunk_len = 3
2024-12-05T16:09:57.789105447+08:00 INFO halo2_proofs::poly::domain - using lagrange_to_coeff_many: vec_num[1], gpu_num [1]
2024-12-05T16:10:03.293103074+08:00 INFO halo2_proofs::plonk::prover - phase3 [1] GPUs free mem = | 22.30 | GiB
in bytes = | 23945281536 | 
2024-12-05T16:10:04.905982885+08:00 INFO halo2_proofs::plonk::prover - num_advice: 1
2024-12-05T16:10:04.906019885+08:00 INFO halo2_proofs::plonk::prover - instance: 1
2024-12-05T16:10:04.906029473+08:00 INFO halo2_proofs::plonk::prover - fixed: 4
2024-12-05T16:10:04.906039632+08:00 INFO halo2_proofs::plonk::prover - lookup: 1
2024-12-05T16:10:04.906048980+08:00 INFO halo2_proofs::plonk::prover - permutation: 1
2024-12-05T16:10:04.906064689+08:00 INFO halo2_proofs::plonk::prover - cals: 10
2024-12-05T16:10:04.906073987+08:00 INFO halo2_proofs::plonk::prover - num_of_gates: 1
2024-12-05T16:10:04.906083775+08:00 INFO halo2_proofs::plonk::prover - rotations: 4
2024-12-05T16:10:04.906101839+08:00 INFO halo2_proofs::poly::domain - using coeff_to_extended_part_many: vec_num[9], gpu_num [1]
2024-12-05T16:10:08.522460461+08:00 INFO halo2_proofs::poly::domain - using coeff_to_extended_part_many: vec_num[1], gpu_num [1]
2024-12-05T16:10:09.151370384+08:00 INFO halo2_proofs::poly::domain - using coeff_to_extended_part_many: vec_num[3], gpu_num [1]
2024/12/05 16:10:09 sync to block: 302546
2024/12/05 16:10:09 start process needSubmitProofHashTask: YHxBR86R0X2fE97j1NMM6dCTYCX2+HLSftct6IHzym8=, taskType: scroll, taskVersion: v1.0
2024/12/05 16:10:09 process needSubmitProofHashTaskList finish

如果你的机器内存不足256GB,就会被OOM kill(内存不足,杀死进程)。

windows或mac平台的教程,请自行移步官方参考

同样,也可以用nohup命令,将证明者挂到后台执行。

bash 复制代码
nohup ./start.sh &

查看日志用命令:

bash 复制代码
tail -f -n 10 nohup.out

验证者和证明者奖励规则

从官网Overview界面可以查看当前网络中存在的所有验证者和证明者数量。

目前,Verifer与Prover规则经过多轮调整,奖励分配更合理,细节如下------

平台(10%):10CYS + 10CGT

Prover(70%):总计70CYS + 70CGT

Prover0:49CYS + 49CGT

Prover1:10.5CYS + 10.5CGT

Prover2:10.5CYS + 10.5CGT

如果Prover2未提交结果,其份额(10.5CYS+10.5CGT)将分配给Prover1。

Verifer(20%):总计20CYS + 20CGT,在所有参与验证的Verifer(最多20人)中平均分配。

每个Verifer将收到 (20/n) CYS + (20/n) CGT,其中 n 为提交结果的Verifer数量(n≤20)。

Cysic备份key

需要注意的是,不管你是跑验证者还是跑证明者,第一次跑成功的时候,都需要把程序自动生成的key文件备份好,如果你没有备份key,那么后果非常严重,等到领空投的时候,key丢了就啥也没有了。备份了key,后面需要更换机器,则把备份的key文件放到下面👇🏻的路径,重启start.sh脚本即可。

bash 复制代码
# 验证者的key路径:
/root/.cysic/keys/ 

# 证明者的key路径:
/root/cysic-prover/~/.cysic/assets/

Cysic常见问题

  1. Cysic什么时候上主网?

    答:官方说2025年Q1。

  2. 可以跑多号吗?会不会被女巫?

    答:可以跑多号,但是一个钱包地址只能跑1个验证者和1个证明者,一台机器上可以跑多个地址,只要你的配置够就行。

  3. 我机器的内存没有256GB,我可以跑证明者吗?

    答:不行,平常没任务的时候都没问题,接到任务的时候,内存要求很高,不足256GB内存,你的证明者进程就会被程序杀死。

  4. 产生的CYS币和CGT币有什么区别?

    答:cysic是双代币模型,这两个币可以直接在网页上点Exchange 1:1兑换,后期都会兑换成主网代币。

  5. 跑验证者和证明者产生的CYS、CGT代币需要每天领吗?

    答:建议每天领,领完兑换成CGT币,到质押界面质押CGT币,质押又可以产生币,当前质押的利息很高。

  6. 我为什么没有邀q码?

    答:按照规则,需要至少质押12个CGT才有邀q码

  7. 为什么我跑了几个小时了还没有分到cys或者cgt币?

    答:任务池里的任务是随机分配给所有的验证者或证明者的,只要日志是正常的,一般等1天左右就会轮到,如果太久还没有,那建议到官方dc开票让查一下。

  8. 跑验证者/证明者的时候报错如下

vbnet 复制代码
error while loading shared libraries: libcudart.so 12: cannot open shared object file: No such file or directory.

答:是网络不好,文件没下全,建议重新下载完毕之后重试,或者换一台网络好一点的机器(最好能魔法)

  1. 我想租GPU显卡机器跑证明者(prover),有推荐的平台吗?
    答:跑证明者需要256GB内存+24GB显存的机器,基本没有符合条件的GPU租赁平台,vast.ai上有少量的,不过价格不算低,1小时大概$0.5,而且目前都被租光了,你可以蹲守下。关于vast.ai GPU显卡租赁的细节,可以参考文章heiyetouzi.xyz/minequainet..., 直接跳到最后看第三部分------GPU显卡挖旷机器配置,其他不用看。
相关推荐
牛奔4 小时前
Go 如何避免频繁抢占?
开发语言·后端·golang
想用offer打牌9 小时前
MCP (Model Context Protocol) 技术理解 - 第二篇
后端·aigc·mcp
passerby606111 小时前
完成前端时间处理的另一块版图
前端·github·web components
KYGALYX11 小时前
服务异步通信
开发语言·后端·微服务·ruby
掘了11 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
爬山算法11 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
Moment12 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
草梅友仁12 小时前
墨梅博客 1.4.0 发布与开源动态 | 2026 年第 6 周草梅周报
开源·github·ai编程
Cobyte12 小时前
AI全栈实战:使用 Python+LangChain+Vue3 构建一个 LLM 聊天应用
前端·后端·aigc
程序员侠客行13 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis