#
Installing
#
Installing EZKL
To use ezkl
in Python, just pip install ezkl
. You will generally also need onnx
installed if you are exporting models, and Pytorch, Tensorflow, or similar if you are creating models.
ezkl
uses your system solc
Solidity compiler, so you may need to tweak it using svm-rs or solc-select, particularly if you are targeting a specific hardfork.
To use the cli, download a release binary from GitHub. If you want the latest build, you can also install from source.
#
Building from source 🔨
Ezkl is built in rust. First install rust, then download the repo and enter the directory
git clone git@github.com:zkonduit/ezkl.git
cd ezkl
After which you may build and install the library
cargo install --force --path .
If you want to build manually with cargo build, be sure to use the release flag as the debug build will result in slow proofs
cargo build --release --bin ezkl
You can always check the options available for a command by typing the command with --help
. For example, ezkl table
will show you the options available for the table
command. This will provide you with the most up-to-date information on a given command's usage and the cli spec.
# list all available commands
ezkl --help
Note: To render your model circuits, you'll need to compile
ezkl
with therender
feature (cargo build --features render --bin ezkl
). This enables therender-circuit
command which can create.png
representations of the compiled circuits. You'll also need to install thelibexpat1-dev
andlibfreetype6-dev
libraries on Debian systems (there are equivalents for MacOS as well).
#
Rust docs 📖
Use cargo doc --open
to compile and open the Rust documentation for ezkl
in your default browser.