Skip to content

Commit

Permalink
Add constraint discussion links
Browse files Browse the repository at this point in the history
  • Loading branch information
Metachaser24 authored Mar 25, 2024
1 parent d6642bc commit 7e4e7be
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion docs/zkEmailDocs/UsageGuide/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,14 @@ To compile the circuit locally, you need to have Rust and Circom installed first


```bash
circom MyCircuit.circom -o --r1cs --wasm --sym --c --O0
circom -l node_modules MyCircuit.circom -o --r1cs --wasm --sym --c --O0
```
*Note: You can add -l to specify the directory where the directive `include` should look for the circuits indicated. For our repo use `circom -l node_modules` instead of circom. Additionally, we generally recommend using the `--O0` flag for optimization during compilation for beginners. However, if you're more experienced with Circom, feel free to use the `--O1` flag instead. It's important to avoid using the `--O2` flag as that is the default setting and it may lead to the deletion of additional constraints.*

Refer to these discussions for more information on constraint deletion.
https://stackoverflow.com/questions/78136647/circom-does-not-create-a-constraint-for-addition/78177349#78177349
https://stackoverflow.com/questions/77688466/circom-compiler-removes-crucial-constraint-after-simplication/78177354?noredirect=1#comment137833229_78177354

After running this command, the circuit will be compiled into a `.r1cs` file, a `.wasm` file, and a `.sym` file. These files are used in the next steps to generate the proving and verifying keys, and to compute the witness.

## Step 5: Compute the Witness
Expand Down

0 comments on commit 7e4e7be

Please sign in to comment.