首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误: zkey文件在circom中不是groth16。

错误: zkey文件在circom中不是groth16。
EN

Stack Overflow用户
提问于 2022-06-20 08:33:44
回答 1查看 153关注 0票数 2

发布信息

  • 队列3-周1-第2-4-1部分 1.如果您只是将转接snarkjs groth16 setup更改为snarkjs plonk setup,您将遇到一个错误。解决这个错误并回答以下问题--用PLONK编译的过程与用Groth16编译有什么不同?

我的档案

https://github.com/Tomosuke0930/zku3.0-week1/tree/master/Q2

https://github.com/Tomosuke0930/zku3.0-week1/blob/master/Q2/scripts/compile-Multiplier3-plonk.sh

我提到了这个文档https://github.com/iden3/snarkjs

我想问的是

  1. 如何解决这个错误?什么材料能帮助解决这个问题?

误差,误差

  • 在执行scripts/compile-Multiplier3-plonk.sh时,我得到以下错误
代码语言:javascript
复制
-------------------------------
Compiling Multiplier3_plonk.circom...
-------------------------------
template instances: 2
non-linear constraints: 2
linear constraints: 0
public inputs: 0
public outputs: 1
private inputs: 3
private outputs: 0
wires: 6
labels: 11
Written successfully: Multiplier3/Multiplier3.r1cs
Written successfully: Multiplier3/Multiplier3.sym
Written successfully: Multiplier3/Multiplier3_js/Multiplier3.wasm
Everything went okay, circom safe
[INFO]  snarkJS: Curve: bn-128
[INFO]  snarkJS: # of Wires: 6
[INFO]  snarkJS: # of Constraints: 2
[INFO]  snarkJS: # of Private Inputs: 3
[INFO]  snarkJS: # of Public Inputs: 0
[INFO]  snarkJS: # of Labels: 11
[INFO]  snarkJS: # of Outputs: 1
[INFO]  snarkJS: Reading r1cs
[INFO]  snarkJS: Plonk constraints: 3
[INFO]  snarkJS: Setup Finished
[INFO]  snarkJS: Reading r1cs
[INFO]  snarkJS: Reading tauG1
[INFO]  snarkJS: Reading tauG2
[INFO]  snarkJS: Reading alphatauG1
[INFO]  snarkJS: Reading betatauG1
[INFO]  snarkJS: Circuit hash: 
                d450100e 589c0685 76e9e3ce 2e0e71e6
                f90f89fa 1f8a17ca d07b0ad4 4c044ecd
                ff825273 9185368e 1ba6de7a 349f2472
                2b974d2d 2dd40cc2 343a6a01 b6d826e6
[ERROR] snarkJS: Error: zkey file is not groth16
    at phase2verifyFromInit (/Users/tom/.nvm/versions/node/v16.13.1/lib/node_modules/snarkjs/build/cli.cjs:4429:15)
    at async phase2verifyFromR1cs (/Users/tom/.nvm/versions/node/v16.13.1/lib/node_modules/snarkjs/build/cli.cjs:4837:12)
    at async Object.zkeyVerifyFromR1cs [as action] (/Users/tom/.nvm/versions/node/v16.13.1/lib/node_modules/snarkjs/build/cli.cjs:8777:17)
    at async clProcessor (/Users/tom/.nvm/versions/node/v16.13.1/lib/node_modules/snarkjs/build/cli.cjs:304:27)

在这里输入图像描述

假设

在执行这段代码时,创建了“zkey”,所以我假设这段代码不工作。

代码语言:javascript
复制
snarkjs plonk setup Multiplier3_plonk/Multiplier3.r1cs powersOfTau28_hez_final_10.ptau Multiplier3_plonk/circuit_final.zkey

这是snark.js中的错误句子,但我不明白是什么问题。

代码语言:javascript
复制
    if (zkey.protocol != "groth16") {
        throw new Error("zkey file is not groth16");
    }

我读过这个医生,但我找不到我错的地方。

https://github.com/iden3/snarkjs#15-setup

EN

回答 1

Stack Overflow用户

发布于 2022-08-04 23:40:01

snarkjs zkey verify ...命令是groth16设置的一部分。因为您使用PLONK,所以不需要验证circuit_final.zkey

更新snarkjs readme.md的人忘了更新“您可以直接跳转到21节.”致“.第22节.”。(readme.md截至提交e3bc042)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72684266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档