Noir代码开发

9分钟前更新 2 00

开发Noir零知识证明代码

收录时间:
2026-02-25
Noir代码开发Noir代码开发
Noir代码开发

技能简介

这个技能用于开发Noir(.nr)代码库。Noir是一种用于编写零知识证明电路的编程语言,可将程序编译为ACIR中间表示,然后生成和验证证明。适用于创建隐私保护应用和可验证计算。

业务背景

适用于需要隐私保护的业务场景,如金融交易金额隐藏、身份验证不泄露个人信息、供应链数据选择性披露等。核心价值在于让业务方在不暴露敏感数据的前提下,向第三方证明某项声明的真实性,满足合规审计与商业机密保护的双重需求。

落地案例:某金融机构需向监管机构证明客户资产充足率达标,但不愿公开具体账户明细。业务人员使用Noir编写电路规则,将客户资产作为私有输入、监管阈值作为公开约束,生成零知识证明提交给监管方。监管方可验证证明有效性,确认机构确实满足要求,却无从得知任何具体账户信息。

能做什么

  • 创建Noir项目骨架
  • 编写和编译Noir程序
  • 生成 witness(见证)
  • 使用证明后端生成证明
  • 验证零知识证明
  • 运行Noir测试

使用说明

安装技能:

clawhub install noir-developer

安装Nargo(Noir工具链):参考https://noir-lang.org/docs/获取安装指南

开发流程:

1. 规划 – 定义private inputs、public inputs和public outputs

2. 创建项目

# 创建新项目
nargo new my_project

# 或在现有目录初始化
nargo init

3. 编写代码 – 在src/main.nr中编写Noir程序

4. 编译

nargo compile

5. 生成witness

nargo execute

# 或使用NoirJS在浏览器/Node中执行

6. 证明与验证

# 使用选定的证明后端生成证明
# 然后验证证明

7. 测试

nargo test

环境支持:如nargo不支持当前环境(如原生Windows),建议使用GitHub Codespaces、WSL、Docker或VM。

证明后端选择:确认后端的类型后再实现细节。如选择Barretenberg,参考references/barretenberg.md。

参考文档:https://noir-lang.org/docs/

输入与输出

见下方输入与输出表格。

项目内容
输入Noir程序代码、私有输入、公开输入
输出ACIR编译结果、witness见证、零知识证明、验证结果
适用人群区块链开发者、密码学工程师、ZK应用开发者、智能合约开发者
不包含Nargo工具链(需单独安装)、证明后端软件、区块链节点

 

风险提示

  • 原始页信息不足:缺少nargo安装命令、缺少证明后端的具体使用示例
  • Windows原生环境不支持,需使用WSL/Docker
  • 证明后端选择影响实现细节,需提前确认
  • 零知识证明计算复杂,性能需优化
  • 电路设计错误可能导致证明无效

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/jp4g/noir-developer/SKILL.md
来源类型:github

数据统计

相关导航

暂无评论

none
暂无评论...