0.0.3 • Published 3 years ago
@big-whale-labs/ketl-allow-map-contract v0.0.3
Allow Map ZKP for Ketl
Usage
- Clone the repository with
git clone git@github.com:BigWhaleLabs/ketl-allow-map-contract.git - Install the dependencies with
yarn - Add environment variables to your
.envfile - Check out
yarn generate-inputsscript and modify it so that you get the correct inputs are generated for your circuits, then runyarn generate-inputs - Run
yarn compileto compile the circom circuits, create proof, verify proof, export verifier as a solidity Verifier.sol - Run
yarn testto run the test suits and make sure your circuits are robust - Use the artifacts from the
publicfolder in snarkjs - Run
yarn deployto deploy the verifier smart contracts to blockchain - Run
yarn releaseto publish an NPM package with typings that can later be used in any of your JS/TS projects
Bonus
- Check out
scripts/compile-circuit.shfor complete understanding of what's going on when compiling the circuits - Feel free to increase/decrease tau factors in the
potfolder as you number of constraints grows or shrinks
Environment variables
| Name | Description |
|---|---|
ETHERSCAN_API_KEY | Etherscan API key |
ETH_RPC | Ethereum RPC URL |
CONTRACT_OWNER_PRIVATE_KEY | Private key of the contract owner |
Also check out the .env.example file for more information.
Available scripts
yarn build— compiles the contracts' ts interfaces to thetypechaindirectoryyarn compile- compiles the circom circuit, creates proof, verifies proof, exports verifier as a solidity file, exports artifacts to thepublicdirectoryyarn test— runs the test suiteyarn deploy— deploys the contract to the networkyarn eth-lint— runs the linter for the solidity contractsyarn lint— runs all the lintersyarn prettify— prettifies the code in th projectyarn release— relases thetypechaindirectory to NPM
0.0.3
3 years ago