Use when setting up Midnight development environment, installing Compact compiler and developer tools, configuring proof server, verifying prerequisites, or getting started with Midnight development.
Guide developers through setting up a complete Midnight development environment for building zero-knowledge smart contracts and dApps.
Before installing Midnight-specific tools, verify these prerequisites:
| Requirement | Minimum | Recommended | Check Command |
|---|---|---|---|
| Node.js | 18.x | 20.x LTS | node --version |
| npm | 9.x | Latest | npm --version |
| Docker | 20.x | Latest | docker --version |
| Git | 2.x | Latest | git --version |
| Chrome | Latest | Latest | Required for Lace wallet |
Run the prerequisite check script to verify:
bash ${CLAUDE_PLUGIN_ROOT}/skills/midnight-setup/scripts/check-prerequisites.sh
For detailed prerequisite verification:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/midnight-setup/scripts/check-prerequisites.py
Using nvm provides easy version management:
# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Restart terminal or source profile
source ~/.zshrc # or ~/.bashrc
# Install Node.js 18 LTS
nvm install 18 --lts
nvm alias default 18
Important: After installing or switching Node versions, open a new terminal window. Simply sourcing the profile may leave stale references.
Download from docker.com/products/docker-desktop for your platform. After installation:
docker infoThe Compact developer tools manage compiler versions and provide the compact CLI:
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/midnightntwrk/compact/releases/latest/download/compact-installer.sh | sh
After installation, add the binary to your PATH. The installer will show the exact path, typically:
# Add to ~/.zshrc or ~/.bashrc
export PATH="$HOME/.compact/bin:$PATH"
Then restart your terminal or source the profile.
With the developer tools installed, download the compiler:
# Download latest compiler
compact update
# Verify installation
compact --version # Shows developer tools version
compact compile --version # Shows compiler version
The proof server generates zero-knowledge proofs locally:
docker pull midnightnetwork/proof-server:latest
To start the proof server (when needed for development):
docker run -p 6300:6300 midnightnetwork/proof-server -- midnight-proof-server --network testnet
The Midnight Compact VS Code extension provides syntax highlighting and IntelliSense:
.vsix file from the Compact releasesFor testing dApps with a wallet:
After completing setup, verify everything works:
# Check all tools
node --version # Should be 18+
docker info # Should show Docker running
compact --version # Should show developer tools version
compact compile --version # Should show compiler version
# Check proof server image
docker images | grep proof-server
Or run the environment check command: /midnight:check
| Command | Purpose |
|---|---|
compact update | Download/update to latest compiler |
compact update <version> | Switch to specific version |
compact list | Show all available versions |
compact list --installed | Show locally installed versions |
compact check | Check for updates without downloading |
compact compile <file> <outdir> | Compile a contract |
compact compile +0.25.0 <file> <outdir> | Compile with specific version |
compact self update | Update the developer tools themselves |
compact help | Show help |
| Issue | Solution |
|---|---|
compact: command not found | Add ~/.compact/bin to PATH, restart terminal |
| Node version wrong after install | Open a new terminal window |
| Docker daemon not running | Start Docker Desktop application |
| Proof server won't start | Check Docker is running, port 6300 is free |
references/installation-steps.md - Detailed platform-specific instructionsreferences/bun-setup.md - Alternative setup using Bun runtimeFor troubleshooting, use the /midnight:doctor command or consult the midnight-debugging skill.