Getting Started

Prerequisites

What you need installed before building shh: a recent Node, pnpm, the circom compiler for the zk core, and Docker if you want to boot the OP Stack devnet.

shh is a pnpm monorepo with a Circom + Groth16 proving stack, Hardhat contracts, and a Next.js app. Most of it builds with just Node and pnpm; the chain and explorer need Docker.

Required

ToolVersionWhy
Node.js≥ 20Runtime for the SDK, contracts tooling, and the web app.
pnpm10.xWorkspace package manager (packageManager: pnpm@10.19.0).
circom2.xCompiles the circuits in @shh/circuits. Installed as a native binary.

Enable pnpm through Corepack (bundled with Node) so you match the pinned version:

bash
corepack enable
corepack prepare pnpm@10.19.0 --activate
node --version   # v20+
pnpm --version   # 10.x

Installing circom

circom is a Rust binary, not an npm package. Install it once on your machine; CI installs it before running the gate.

bash
# via cargo (recommended)
git clone https://github.com/iden3/circom.git
cd circom && cargo build --release
cargo install --path circom
circom --version

Optional — only for the live chain

ToolNeeded for
Docker + Docker ComposeThe OP Stack devnet (infra/op-stack) and the Blockscout explorer (infra/explorer).
Foundry (cast, anvil)Inspecting the local chain and the anvil fork of Base Sepolia used as L1.
makeThe make generate / up / down targets (a PowerShell path is provided on Windows).

Next: Installation.