Deployments

Global Verifier Deployment details

These are the defaults the nsv cli will take if you don't specify verifier-address

FlavorChainAddress
UltraKeccakFlavorArbitrum Mainnet0x2f9f4741ab606632718f7bda0bf5c79e1dd03ac3
UltraKeccakFlavorArbitrum Sepolia0x951d400a88f98c2d3f6f8af7b502a59bf418ab76
UltraKeccakZkFlavorArbitrum Mainnet0x79693edb49473dc3522de16fbd047977c4999d5c
UltraKeccakZkFlavorArbitrum Sepolia0xdcaaed24c926bc718984eaa4126e27b27d60379d

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