mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
What is this?
zkrunner is a simple Python script that calls into the Darkfi Python SDK.
The Python SDK provides APIs such as creating a circuit, assigning the witness to the circuit and more.
zkrunner uses the Python SDK to create a developement environment for zkas developer where:
- the ZKAS developer provides the ZKAS binary code
- the ZKAS developer provides the witness and assigns it accordingly
- zkrunner:
- sets up the circuit from the binary
- generates both proving and verifying key
- creates the proof from the witness and proving key
- creates the public inputs from the witness
- verifies the proof using the public inputs and verifying key
- zkrunner times each step as a basic performance benchmark
This is so developers have an easier time to test their zkas circuit.
Installation
Follow the guide in src/sdk/python/README.md to install the Python bindings and virtual environment.
Getting Started
- Compile the ZKAS source to ZKAS binary
cd <darkmap>
zkas proof/set_v1.zk
- Open up
zkrunner.py, read over the TODOs and comments, provide the path to zkas binary code, witness and assign accordingly. - After installing Python bindings in your Python installation, simply run
python zkrunner.py [--verbose].
Notes
- "witness" and "witnesses" are used interchangablely.