Installation

Set up your environment with all required dependencies

Prerequisites

zkkit requires these underlying tools to function. zkkit itself is a wrapper that orchestrates circom and snarkjs commands.

ℹ️ Understanding Dependencies

circom compiles circuit code into mathematical constraints

snarkjs performs the actual cryptographic operations (powered by JavaScript and WASM)

zkkit wraps these tools with convenient CLI commands and sensible defaults

1. Rust

Rust is required for compiling zero-knowledge circuits efficiently.

Install Rust using rustup on Ubuntu/Debian-based systems:

bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

After installation, configure your current shell:

bash
source $HOME/.cargo/env

Verify the installation:

bash
rustc --version

2. Circom

Circom is the circuit compiler for zero-knowledge proofs.

Install Circom on Ubuntu/Debian-based systems:

bash
git clone https://github.com/iden3/circom.git
bash
cd circom
bash
cargo build --release
bash
cargo install --path circom

Verify the installation:

bash
circom --version

3. SnarkJS

SnarkJS is a JavaScript library for zero-knowledge proofs. Requires Node.js to be installed.

First, ensure Node.js is installed. Then install SnarkJS globally:

bash
npm install -g snarkjs

Verify the installation:

bash
snarkjs --version

Install zkkit

Once all prerequisites are installed, install zkkit globally using npm:

bash
npm install -g zkkit

Verify the installation:

bash
zkkit --version