Deployments
Global Verifier Deployment details
These are the defaults the nsv
cli will take if you don't specify verifier-address
Flavor | Chain | Address |
---|---|---|
UltraKeccakFlavor | Arbitrum Mainnet | 0x2f9f4741ab606632718f7bda0bf5c79e1dd03ac3 |
UltraKeccakFlavor | Arbitrum Sepolia | 0x951d400a88f98c2d3f6f8af7b502a59bf418ab76 |
UltraKeccakZkFlavor | Arbitrum Mainnet | 0x79693edb49473dc3522de16fbd047977c4999d5c |
UltraKeccakZkFlavor | Arbitrum Sepolia | 0xdcaaed24c926bc718984eaa4126e27b27d60379d |
You can still go ahead and deploy your own, just make sure to specify it when deploying your circuit specific contracts.
How to deploy
To deploy your own clone the noir-stylus-verifier repo with:
git clone --recursive https://github.com/wakeuplabs-io/noir-stylus-verifier
Follow instructions at the README.md
to setup your environment and depending on what you want do:
# To start a local testnode
just nitro-testnode-up
just nitro-testnode-down
# deploy
just --set rpc_url ... --set private_key ... deploy-contract sumcheck-verifier
just --set rpc_url ... --set private_key ... deploy-contract shplemini-verifier
just --set rpc_url ... --set private_key ... deploy-contract verifier "constructor(address,address)" "{sumcheck-verifier}" "{shplemini-verifier}"
# deploy zk flavour
just --set rpc_url ... --set private_key ... deploy-contract zk-sumcheck-verifier
just --set rpc_url ... --set private_key ... deploy-contract zk-shplemini-verifier
just --set rpc_url ... --set private_key ... deploy-contract zk-verifier "constructor(address,address)" "{zk-sumcheck-verifier}" "{zk-shplemini-verifier}"
# verify deployment
just --set rpc_url ... get-verifier-addresses {verifier-address}
just --set rpc_url ... verify-proof {verifier-address} assert