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:
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:
- Download the latest release from: https://github.com/zkmove/zkmove/tree/main/release/latest
- Extract the archive.
- Move the binary to your preferred location (e.g.,
/usr/local/bin). - Make it executable and verify the installation:
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¶
- 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_64orarm64).
- Extract the archive and move the binary to your preferred location.
- Make it executable:
- Verify the installation:
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 places the sui binary under ~/.cargo/bin. Add that
directory to your PATH so the Sui deployment and verification guides can call
sui directly:
To make this persistent for new terminal sessions, add the same line to your
shell profile. For macOS with zsh:
Verify that the customized sui CLI is available:
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.