pull/5262/head^2
omahs 2 months ago committed by Aniket
parent 8be304e9cf
commit 661802f16d
  1. 8
      libs/remix-ws-templates/src/templates/hashchecker/README.md

@ -7,7 +7,7 @@ The workspace comprises two main directories:
### circuits: Contains sample Hash Checker contracts. These can be compiled to generate a witness using 'Circom ZKP Compiler' plugin. ### circuits: Contains sample Hash Checker contracts. These can be compiled to generate a witness using 'Circom ZKP Compiler' plugin.
### scripts: Provides a sample script designed for a trusted setup using snarkjs. This script also aids in generating Solidity code, which is essential for on-chain deployment. There have 2 scripts options to choose from, Groth16 and Plonk. ### scripts: Provides a sample script designed for a trusted setup using snarkjs. This script also aids in generating Solidity code, which is essential for on-chain deployment. There are 2 scripts options to choose from, Groth16 and Plonk.
### first steps: ### first steps:
@ -15,7 +15,7 @@ The workspace comprises two main directories:
#### 2) execute the file `groth16_trusted_setup.ts` found in `scripts/groth16` directory: #### 2) execute the file `groth16_trusted_setup.ts` found in `scripts/groth16` directory:
This step generate a verification key that can be used for generating proof, it will also generate a Solidity contract for on-chain verification. This step generates a verification key that can be used for generating proof, it will also generate a Solidity contract for on-chain verification.
Note that this section should only be used for development purposes as this way of running the setup is heavily centralized (although some pieces of this script can be used to achieve that). Note that this section should only be used for development purposes as this way of running the setup is heavily centralized (although some pieces of this script can be used to achieve that).
@ -27,11 +27,11 @@ This script:
- generate a witness and a proof of execution. The input parameters of `snarkjs.wtns.calculate` are: - generate a witness and a proof of execution. The input parameters of `snarkjs.wtns.calculate` are:
- 4 values, that should remain private. We want to verify that we know a hash that satisfy these 4 values. - 4 values, that should remain private. We want to verify that we know a hash that satisfies these 4 values.
- a hash, this is a public signal. - a hash, this is a public signal.
The witness will be generated only if the provided hash is the poseidon hash of these 4 values. The witness will be generated only if the provided hash is the poseidon hash of these 4 values.
- verify that the proof is valid `(snarkjs.groth16.verify)` - verify that the proof is valid `(snarkjs.groth16.verify)`
#### The steps above for groth16 scripts apply also to plonk scripts. #### The steps above for groth16 scripts also apply to plonk scripts.

Loading…
Cancel
Save