首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Zokrate后端"gm17“不受支持

Zokrate后端"gm17“不受支持
EN

Ethereum用户
提问于 2019-07-02 15:26:12
回答 1查看 112关注 0票数 1

我正在尝试用ZoKrates库进行实验。当我使用./zokrate安装命令时,它会警告我gm16的可塑性。因此,我试图将证明方案改为gm17。但是我一直得到“后端gm17不受支持”的错误。以前有人遇到过这个问题吗?我正在使用MacOS。我看到gm17需要libsnark。我检查了libsnark的github回购,如果他们有在Mac中激活libsnark的指令。但是,我没有看到任何指示。

提前谢谢你的帮助。

EN

回答 1

Ethereum用户

发布于 2019-12-06 08:48:19

通用17是唯一一个默认支持的后端。要启用GM16 (和PHGR13),您必须使用适当的标志从源构建Zokrate。

cargo +nightly -Z package-features build --release --package zokrates_cli --features="libsnark"

在Mac上安装这个是有问题的。OSX不支持Super,它是libsnark的构建依赖项,因此您必须在构建配置中禁用它。

https://github.com/Zokrates/ZoKrates/blob/f01fc7e627fb8c3f38774ec8bde6858ece8dbec6/zokrates_核心/建筑#L41

代码语言:javascript
运行
复制
  let libsnark = cmake::Config::new(libsnark_source_path)
            .define("WITH_SUPERCOP", "OFF") ==> Add this line. 
            .define("WITH_PROCPS", "OFF")
            .define("CURVE", "ALT_BN128")
            .define("USE_PT_COMPRESSION", "OFF")
            .define("MONTGOMERY_OUTPUT", "ON")
            .define("BINARY_OUTPUT", "ON")
            .build();

要记住的另一件事是,您需要为设置添加正确的标志,生成验证器命令,即--proving-scheme(or -s) gm17

代码语言:javascript
运行
复制
./zokrates setup --proving-scheme gm17
./zokrates generate-proof -s gm17
./zokrates export-verifier -s gm17

参考:

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

https://ethereum.stackexchange.com/questions/72493

复制
相关文章

相似问题

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