This project implements a Zero-Knowledge Proof (ZKP) related to the paper titled "CLAPS: Consensus-Less Anonymous Payment System". This ZKP has been implemented using gnark, a fast zk-SNARK library that offers a high-level API to design circuits.
To install gnark, you need to have Go installed on your machine. Follow these steps to set up gnark:
-
Open a terminal on your machine.
-
Install Go if you haven't already. You can download it from here.
-
Set up your Go workspace by adding the following lines to your shell profile (
~/.bashrc
,~/.zshrc
, etc.):export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin
-
Source your shell profile to apply the changes:
source ~/.bashrc # or source ~/.zshrc
-
Install gnark by running:
go get github.com/ConsenSys/gnark
To execute a ZKP using gnark, follow these steps:
-
Navigate to the directory containing your gnark project.
-
Compile, prove and verify the circuit:
go run main.go
These commands will trigger the compilation, proving, and verification processes at the same time (see main.go for the implementation details of these processes).
This project is licensed under the MIT License - see the LICENSE.md file for details.
If you have any questions or suggestions regarding this implementation, feel free to reach out to me at [[email protected]].