Skip to content

Set Up the Development Environment

This guide walks you through installing the three CLI tools required to develop with zkMove.


1. Install the Customized move CLI

A customized Move CLI is required to generate witnesses. Install it with the following command:

cargo install --git https://github.com/zkmove/move move-cli --branch main

2. Install the zkmove CLI

The zkmove CLI is the primary tool for zkMove development. It supports proof generation, proof verification, and circuit debugging.

Steps:

  1. Download the latest release from: https://github.com/zkmove/zkmove/tree/main/release/latest
  2. Extract the archive.
  3. Move the binary to your preferred location (e.g., /usr/local/bin).
  4. Make it executable and verify the installation:
chmod +x zkmove
zkmove -h

3. Install the Customized aptos or sui CLI

A customized build of the Aptos or Sui CLI is required. It includes native functions used by the Halo2 on-chain verifier, and is used to interact with the local DevNet, publish contracts, and submit transactions.

3.1 Install aptos CLI

  1. Download the release from: https://github.com/zkmove/aptos-core/releases/download/aptos-cli-v7.11.1-zkmove

On macOS, the file is named aptos-cli-<version>-macOS-arm64.zip. Choose the correct architecture (x86_64 or arm64).

  1. Extract the archive and move the binary to your preferred location.
  2. Make it executable:
chmod +x ~/aptos
  1. Verify the installation:
~/aptos help

3.2 Install sui CLI

Install the zkMove Sui CLI with the following command. An upstream Sui release binary is not sufficient for the Sui verifier flow because it does not include the sui::halo2_kzg native verifier module used by verifier_api.

cargo install --git https://github.com/zkmove/sui.git --branch main sui --locked

cargo install places the sui binary under ~/.cargo/bin. Add that directory to your PATH so the Sui deployment and verification guides can call sui directly:

export PATH="$HOME/.cargo/bin:$PATH"

To make this persistent for new terminal sessions, add the same line to your shell profile. For macOS with zsh:

echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Verify that the customized sui CLI is available:

command -v sui
sui --version

4. Clone the halo2-verifier.move Repository

The halo2-verifier.move repository contains the source code for the on-chain Halo2 verifier. You will need it to publish the verifier contracts.

git clone git@github.com:zkmove/halo2-verifier.move.git