Install the native Zesu binary
Zesu builds as a native binary that runs the same Ethereum block execution logic as the zkVM guest, on your host CPU. You can use the native binary to debug a failing block, or validate a zkVM integration's commitment against a known-correct value.
Build prerequisites, flags, and behavior can change between releases.
Verify against the upstream Consensys/zesu
repository if anything on this page looks out of date.
Prerequisites
Before you start, ensure you have:
- macOS or a Debian-based Linux distribution (for example, Ubuntu or Debian). Other Linux distributions are not covered by the supplied install scripts.
- Zig version 0.16.0 or later.
- Native cryptographic libraries:
libsecp256k1for secp256k1 signature operations.libblstfor BLS12-381 operations.libmclfor BN254 and BLS12-381 pairings.
make install-deps installs the cryptographic libraries for you on supported
platforms.
Clone the Zesu repository
git clone https://github.com/Consensys/zesu.git
cd zesu
Install build dependencies
On macOS or a Debian-based Linux distribution, install all the cryptographic libraries with:
make install-deps
To verify the dependencies are already satisfied without installing anything:
make check-deps
If you are on a different operating system, install libsecp256k1, libblst,
and libmcl using your platform's package manager or by building each from
source, then run make check-deps to confirm.
Build the binary
From the repository root:
zig build
The native Zesu binary is available at ./zig-out/bin/zesu.
The build also produces additional binaries that are not covered by this page. Review the
Consensys/zesu repository for the
full list.
Verify the build
Confirm the binary built successfully:
ls -l ./zig-out/bin/zesu
For the full list of command-line options the binary accepts, see CLI options.
Next steps
- CLI options: every flag, environment variable, and exit code the binary supports.
- Inputs and outputs: the input formats the binary accepts and the 105-byte commitment it produces.