Skip to main content

Quick Start Installation

This page provides streamlined installation instructions to get started quickly. For detailed explanations of what each dependency does and why it's needed, see Building Dependencies.

Choose Your Build Target

Before installing, consider what you want to build:

  • Native builds: Server-side proving, CLI tools (requires Dawn for GPU acceleration)
  • Web builds: Browser-based applications (requires Emscripten)
  • SDK development: Custom C++ or Rust applications (requires Emscripten and/or Rust toolchain)

See Building Dependencies for a complete breakdown of which dependencies are needed for each target.

Core Dependencies

Install essential system packages for native builds:

Prerequisites

Install Homebrew if you haven't already:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Compilers on macOS

macOS uses Clang (clang and clang++) as the default compiler, which is installed with Xcode Command Line Tools. This is the recommended and tested compiler for Ligetron on macOS.

Verify it's installed:

clang++ --version

If not installed, run:

xcode-select --install

Install Core Dependencies

brew install cmake gmp boost openssl git

Next Steps

  1. Build Dawn (WebGPU) - see Building Dependencies: WebGPU
  2. Build wabt - see Building Dependencies: wabt
  3. (Optional) For web builds, install Emscripten - see Building Dependencies: Emscripten
  4. Proceed to Building Ligetron

Additional Setup for Specific Build Targets

For Web Builds

Web builds require Emscripten in addition to the core dependencies:

# Clone and install Emscripten
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh

See Building Dependencies: Emscripten for more details.

For Rust SDK Development

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

# Add WebAssembly target
rustup target add wasm32-wasip1

See Building Dependencies: Rust Toolchain for more details.

Verify Installation

After installing dependencies, verify key tools are available:

# Check versions
cmake --version # Should be 3.24+
git --version
g++ --version # Should be 13+ on Ubuntu

For native builds:

# Verify GPU libraries (Ubuntu)
vulkaninfo | head -20

# Verify Dawn was installed (both platforms)
ls /usr/local/include/dawn # Should exist

For web builds:

# Verify Emscripten (after sourcing emsdk_env.sh)
emcc --version
em++ --version

What's Next?

Once dependencies are installed:

  1. Building Ligetron - Build the SDK, native prover/verifier, or web version
  2. Building Custom Applications - Create your own ZK applications

Need Help?

  • Detailed dependency explanations: See Building Dependencies
  • Build issues: Check the troubleshooting section (coming soon)
  • Architecture confusion: The Building Dependencies guide explains the difference between native and WebAssembly builds