Source Code
Noir Developer
Workflow
- Compile (
nargo compile) Noir program into ACIR. - Generate witness (
nargo executeor NoirJS execute) based on ACIR and user inputs. - Prove using ACIR and witness with the selected proving backend.
- Verify proof with the selected proving backend.
Task Patterns
Environment
If the environment is unsupported by nargo (e.g. native Windows), guide the user to using GitHub Codespaces (https://noir-lang.org/docs/tooling/devcontainer#using-github-codespaces) or a supported setup (WSL, Docker, or VM).
Plan
Define private inputs, public inputs (if any), and public outputs (if any) for each Noir program.
Project Creation
When creating a Noir project, use nargo new or nargo init to scaffold it.
Compilation
Use nargo (not noir_wasm) for compilation; it is the maintained path.
Validation
Run nargo test to validate Noir implementations.
Proving Backend
Confirm the proving backend choice before implementation details. If the user selects Barretenberg, read references/barretenberg.md.
References
- Run
nargo --helpfor the full list of commands. - Read https://noir-lang.org/docs/ for language syntax, dependencies, and tooling.
- Proving backends:
- For Barretenberg specifics, read
references/barretenberg.md.
- For Barretenberg specifics, read