[ZK Learning Group 2] Circom workshop #1
Circom serves 2 primary purposes:
pragma circom 2.0.3;
template Main() {
//private
signal input x;
signal x_squared;
signal x_cubed;
signal output out;
// witness generation: IR gen
x_squared <-- x * x;
x_cubed <-- x_squared * x;
out <-- x_cubed - x + 7;
// constraint definition
x_squared === x * x;
x_cubed === x_squared * x;
out === x_cubed - x + 7;
}
component main = Main();On signals
On witness generation
Constraints
Compilation
R1CS
.wasm file
vkey: verification key
.zkey: proving key
When can't you simply just <== for all constraints/intermediates?
<== for all constraints/intermediates?Include
Paranthesis

Last updated