go-snark-study 项目使用教程

go-snark-study 项目使用教程

go-snark-studyzkSNARK library implementation in Go from scratch (compiler, setup, prover, verifier)项目地址:https://gitcode.com/gh_mirrors/go/go-snark-study

1. 项目的目录结构及介绍

go-snark-study 是一个用 Go 语言实现的 zkSNARK 库,从零开始构建。项目的目录结构如下:

go-snark-study/
├── bn128
├── circuitcompiler
├── circuitexamples
├── cli
├── externalVerif
├── fields
├── groth16
├── r1csqap
├── r1csqapFloat
├── utils
├── vim-syntax
├── wasm
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── build-cli.sh
├── go-snark-cli
├── go.mod
├── go.sum
├── snark.go
├── snark_test.go

目录介绍

  • bn128: 包含与 bn128 曲线相关的代码。
  • circuitcompiler: 电路编译器相关代码。
  • circuitexamples: 电路示例。
  • cli: 命令行接口相关代码。
  • externalVerif: 外部验证相关代码。
  • fields: 字段操作相关代码。
  • groth16: Groth16 协议相关代码。
  • r1csqap: R1CS QAP 相关代码。
  • r1csqapFloat: R1CS QAP 浮点数相关代码。
  • utils: 工具函数。
  • vim-syntax: Vim 语法高亮相关文件。
  • wasm: WebAssembly 相关代码。
  • .gitignore: Git 忽略文件配置。
  • .travis.yml: Travis CI 配置文件。
  • LICENSE: 项目许可证。
  • README.md: 项目说明文档。
  • build-cli.sh: 构建命令行工具的脚本。
  • go-snark-cli: 命令行工具入口文件。
  • go.mod: Go 模块文件。
  • go.sum: Go 模块校验文件。
  • snark.go: 主程序文件。
  • snark_test.go: 测试文件。

2. 项目的启动文件介绍

项目的启动文件是 snark.go,它是整个库的入口点。该文件包含了主要的函数和接口,用于编译电路、生成证明和验证证明。

启动文件主要功能

  • 电路编译:将电路描述编译成可用于证明的形式。
  • 证明生成:根据编译后的电路和私有输入生成证明。
  • 证明验证:验证生成的证明是否正确。

3. 项目的配置文件介绍

项目没有明确的配置文件,但可以通过命令行参数和环境变量进行配置。主要的配置项包括:

  • 电路文件路径:指定电路描述文件的路径。
  • 输入文件路径:指定输入数据的文件路径。
  • 输出文件路径:指定输出证明或验证结果的文件路径。

命令行示例

./go-snark-cli compile -circuit=path/to/circuit.json
./go-snark-cli prove -input=path/to/input.json -proof=path/to/proof.json
./go-snark-cli verify -proof=path/to/proof.json -public=path/to/public.json

通过这些命令行参数,可以灵活地配置和使用 go-snark-study 项目。

go-snark-studyzkSNARK library implementation in Go from scratch (compiler, setup, prover, verifier)项目地址:https://gitcode.com/gh_mirrors/go/go-snark-study

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乌容柳Zelene

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值