Install everything
~15 minutes of installs plus downloads. Do this before the live session. Each step ends with a verify command — run it and compare with the expected output.
- ≥ 4 GB free RAM — the frontend build needs ~3 GB of Node heap.
- First launch downloads Midnight node binaries from GitHub (hundreds of MB). Be on decent Wi-Fi.
Minor: the node syncs time over NTP. On normal home/personal internet this just works; only strict corporate VPNs block it (see troubleshooting if nothing ever syncs).
1Bun (runtime for everything)
curl -fsSL https://bun.sh/install | bash
Note: untested — unofficial support only. The workshop is developed and verified on macOS and Linux; WSL2 should work but you're in lightly-charted territory.
Install WSL2 with an Ubuntu distro first, then inside WSL:
curl -fsSL https://bun.sh/install | bash
Do everything in this workshop inside WSL, including the browser pointing at localhost.
$ bun --version 1.3.x
2Node.js 22+ (used by build tools)
node --version # if this prints v22 or higher, skip ahead
Otherwise install from nodejs.org or your package manager.
3Foundry (forge — compiles the EVM contracts)
curl -L https://foundry.paradigm.xyz | bash
foundryup
$ forge --version forge Version: 1.x
The orchestrator hard-checks that forge is on your PATH at startup and refuses to boot without it.
4Compact compiler (compiles the Midnight contract)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/midnightntwrk/compact/releases/latest/download/compact-installer.sh | sh
compact update 0.30.0
$ compact compile --version Compactc version: 0.30.0
Also hard-checked at startup, even though the compiled contract output ships with the template.
5MetaMask
Install the MetaMask browser extension (any browser). We'll add the local network and a funded dev account in Step 3.
6The template
git clone https://github.com/effectstream/effectstream.git
cd effectstream/templates/evm-midnight-v2
bun install
$ bun install + 1000s of packages, no errors
bun --version, forge --version, and compact compile --version all print versions,
and bun install finished cleanly inside templates/evm-midnight-v2.
Continue to First launch — do it now, it downloads the chain binaries.