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
| Tool | Version | Why |
|---|---|---|
| Node.js | ≥ 20 | Runtime for the SDK, contracts tooling, and the web app. |
| pnpm | 10.x | Workspace package manager (packageManager: pnpm@10.19.0). |
| circom | 2.x | Compiles the circuits in @shh/circuits. Installed as a native binary. |
Enable pnpm through Corepack (bundled with Node) so you match the pinned version:
corepack enable
corepack prepare pnpm@10.19.0 --activate
node --version # v20+
pnpm --version # 10.xInstalling circom
circom is a Rust binary, not an npm package. Install it once on your machine; CI installs it before running the gate.
# via cargo (recommended)
git clone https://github.com/iden3/circom.git
cd circom && cargo build --release
cargo install --path circom
circom --versionOptional — only for the live chain
| Tool | Needed for |
|---|---|
| Docker + Docker Compose | The 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. |
| make | The make generate / up / down targets (a PowerShell path is provided on Windows). |
Next: Installation.