一、概述
由
JS
和纯
Web Assembly
实现的
zkSNARK
,内部实现了
Groth16
、
Plonk
和
FFLONK
(
Beta
版)三个算法:
snarkjs
继承了所有协议需要的组件,包括初始可信设置的
NMPC
执行过程(用以计算全局的 的幂)和 计算指定电路的证明;
snarkjs
基于
nodejs
,计算采用
circom
编译的电路;
snarkjs
采用
ES
模式,可以直接部署到
rollup
或
webpack
等项目中。
二、环境配置
(一)安装Rust
如果显示 Rust 的版本号,说明设置成功。
(二)安装node
1.下载并执行NodeSource安装脚本
建议使用的node版本为v12以上的,这里用的是v16版本。
没有curl 的使用apt安装:sudo apt install curl
若出现下面窗口等待一分钟即可
2.安装Node.js和npm
3.验证Node.js和npm是否已成功安装
(三)安装Circom
安装好后进入circom目录执行下列命令进行编译
注意:若命令执行不成功,可能是cargo未安装,执行sudo apt install cargo命令即可。
编译完进行安装