📍🗺️ | ⛓️ | 🔏
zkMaps is a tool to verify if a user is within a certain geographic area without giving away their exact location. This repository is composed of the circuits which enable the deployment of a verifier contract and the creation of the location proof by the end user.
You can check our Dune dashboard.
https://shrouded-fruitadens-1ef.notion.site/ZKmaps-roadmap-epics-18196ee96b4f4a2982fa1ec05f1c920e
- end point: https://zk-maps.vercel.app
- monitor: https://vercel.com/zkmaps/zk-maps/GTNfdqtqdmYRJKUcxNcWC6xAXRJp
A. Install dependencies
npm install
B. Go to the circuits directory:
cd circuits
C. Compile circuits:
./full_build.sh <CIRCUIT-NAME>
You can create proofs in a CLI (as explained in the circuits/readme.md) or in a client like our implementation at https://zkmaps.vercel.app/ (can find the implementation at github.com/zkMaps/client).
To create proofs on a web client, circuit files must be available. We are currently using IPFS to upload and access .zkey and .wasm files.
A. We recommend installing hh as a global dependency.
npm install --global hardhat-shorthand
B. Set a deployment script in the deploy directory
C. Set your deployer address' MNEMONIC or Private Key at .env. You can duplicate .env.template to do so.
D. Ultimately run the command below. Make sure to do so from the root directory.
hh deploy --network mumbai
You will be able to access ABI and contract address from deployments/<NETWORK>/Verifier<CIRCUIT-NAME>.json. This information will be needed by the client to parse data from the contract.
- VerifierRayTracing6
polygon0x0Eb82353271c162256b15BA540b10303F209F636
-
VerifierRayTracing4
polygon0xc53a2E55031F3BbE8ba9fB136F1b84bB5Af1CDe9 -
VerifierRayTracing6
polygon0x97006Df5D736EA002a768245dfD289B648bbE610 -
VerifierRayTracing10
polygon0x9d567902eFbceEf419edAC5aa556dDA545A71E68 -
VerifierRayTracing6
mumbai0x0a23af15ce2642689aF312B8A570534731285E83