Prover Server
Prover Server is a REST API Wrapper & golang binding for SnarkJS
List of implemented features:
Requirements
Installation
-
Build prover server:
go build ./cmd/prover/prover.go
-
Edit config file configs/prover.yaml
-
Put compiled circuits into <circuitsBasePath>/<circuitName>
directory. Where <circuitsBasePath>
is config option with default value circuits
, and <circuitName>
is name of the circuit that will be passed as a param to an API call.
See SnarkJS Readme for instructions on how to compile circuits.
-
Run prover server:
./prover
API
Generate proof
POST /api/v1/proof/generate
Content-Type: application/json
{
"inputs": {...}, // circuit specific inputs
"circuit_name": "..." // name of directory
}
Docker images
Build and run container with snarkjs prover:
docker build -t prover-server .
docker run -it -p 8002:8002 prover-server
Build and run container with rapidsnark prover:
docker build -t prover-server-rapidsnark -f Dockerfile-rapidsnark .
docker run -it -p 8002:8002 prover-server-rapidsnark
License
prover-server is part of the iden3 project copyright 2021 0KIMS association and published with GPL-3 license. Please check the LICENSE file for more details.