A web interface for compiling, proving, and verifying Noir circuits. This project provides a simple way to interact with Noir circuits through a modern web interface.
- Dynamic circuit compilation
- Web-based proof generation and verification
- Real-time terminal-like feedback
- Support for custom circuits
- Automatic type generation for circuit inputs
- Node.js (v18 or higher)
- pnpm
- nargo (Noir package manager)
-
Clone the repository:
git clone https://github.com/gnosisguild/noir-web.git cd noir-web -
Install dependencies:
cd web && pnpm install
- Edit your circuit in
circuits/src/main.nrto change circuit inputs or logic. - Compile and update all necessary files by running:
This will:
pnpm run do- Compile your Noir circuit
- Automatically generate a new
Prover.tomltemplate and TypeScript types for the circuit inputs
- Edit the generated
web/public/circuits/Prover.tomlfile to provide your input values. - Use the web interface running at
localhost:3000to generate and verify proofs.
Note:
The web interface and setup scripts are now fully dynamic.
You do not need to manually update any frontend or script code when you change your circuit’s input structure—just follow the steps above!
noir-web/
├── circuits/ # Noir circuit source files
│ ├── src/
│ │ └── main.nr # Your circuit code
│ └── Nargo.toml # Circuit configuration
├── web/ # Next.js web application
│ ├── public/
│ │ └── circuits/ # Compiled circuits and assets
│ └── src/ # Web application source
└── scripts/ # Build and setup scripts
pnpm dev- Start development serverpnpm build- Build for productionpnpm setup- Compile circuits and generate assetspnpm do- Executesetupanddevsequentially.
GNU LESSER GENERAL PUBLIC LICENSE V3