介绍
# Noir Developer
## 工作流
1. 将 Noir 程序编译 (`nargo compile`) 为 ACIR。 2. 基于 ACIR 和用户输入生成证明 Witness (`nargo execute` 或 NoirJS execute)。 3. 使用选定的证明后端,结合 ACIR 和 Witness 进行证明。 4. 使用选定的证明后端验证证明。
## 任务模式
### 环境
如果环境不受 `nargo` 支持(例如原生 Windows),请引导用户使用 GitHub Codespaces (https://noir-lang.org/docs/tooling/devcontainer#using-github-codespaces) 或受支持的设置(WSL、Docker 或 VM)。
### 计划
为每个 Noir 程序定义私有输入、公共输入(如果有)和公共输出(如果有)。
### 项目创建
创建 Noir 项目时,使用 `nargo new` 或 `nargo init` 进行脚手架搭建。
### 编译
使用 `nargo`(而非 `noir_wasm`)进行编译;这是官方维护的途径。
### 验证
运行 `nargo test` 以验证 Noir 实现。
### 证明后端
在实施细节之前确认证明后端的选择。如果用户选择 Barretenberg,请阅读 `references/barretenberg.md`。
## 参考资料
- 运行 `nargo --help` 查看完整命令列表。 - 阅读 https://noir-lang.org/docs/ 了解语言语法、依赖项和工具。 - 证明后端: - 有关 Barretenberg 的具体信息,请阅读 `references/barretenberg.md`。