Commands
General options
Options:
-s, --show-ssa Emit debug information for the intermediate SSA IR
-d, --deny-warnings Quit execution when warnings are emitted
-h, --help Print help
nargo help [subcommand]
Prints the list of available commands or specific information of a subcommand.
Arguments
<subcommand>
- The subcommand whose help message to display
nargo check
Generate the Prover.toml
and Verifier.toml
files for specifying prover and verifier in/output
values of the Noir program respectively.
nargo codegen-verifier
Generate a Solidity verifier smart contract for the program.
nargo compile <circuit_name>
Compile the program into a JSON build artifact file containing the ACIR representation and the ABI of the circuit. This build artifact can then be used to generate and verify proofs.
You can also use "build" as an alias for compile.
For example, nargo build <circuit_name>
.
Arguments
<circuit_name>
- The name of the circuit file
Options
-c, --contracts
- Compile each contract function used within the program--print-acir
- Displays the ACIR for the compiled circuit
nargo new <package_name> [path]
Creates a new Noir project in a new folder called <package_name
.
Arguments
<package_name>
- Name of the package[path]
- The path to save the new project
nargo init
Creates a new Noir project in the current directory.
nargo execute [witness_name]
Runs the Noir program and prints its return value.
Arguments
[witness_name]
- The name of the witness
Usage
The inputs to the circuit are read from the Prover.toml
file generated by nargo check
, which
must be filled in.
To save the witness to file, run the command with a value for the witness-name
argument. A
<witness_name-name>.tr
file will then be saved in the build
folder.
Info: The
.tr
file is the witness file. The witness file can be considered as program inputs parsed for your program's ACIR.This file can be passed along with circuit's ACIR into a TypeScript project for proving and verification. See the TypeScript section to learn more.
nargo prove <proof_name>
Creates a proof for the program.
Arguments
<proof_name>
- The name of the proof
Options
-v, --verify
- Verify proof after proving
nargo verify <proof>
Given a proof and a program, verify whether the proof is valid.
Arguments
<proof>
- The proof to verify
nargo test <pattern>
Nargo will automatically compile and run any functions which have the decorator #[test]
on them if
you run nargo test
.
See an example on the testing page.
Arguments
<pattern>
- a pattern to indicate to only run tests with names containing the pattern
nargo gates
Counts the occurrences of different gates in circuit
nargo lsp
Start a long-running Language Server process that communicates over stdin/stdout. Usually this command is not run by a user, but instead will be run by a Language Client, such as vscode-noir.