This example uses Vite as the frontend framework, and Hardhat to deploy and test.
Want to get started in a pinch? Start your project in a free Github Codespace!
-
Install your favorite package manager. We'll use bun but feel free to use
yarnor others:curl -fsSL https://bun.sh/install | bash -
Install dependencies:
bun i
-
Run a node
bunx hardhat node
-
Deploy the verifier contract (UltraPlonk)
bun run deploy
-
Run the dev environment
bun dev
You can run the example test file with
bun run testThis test shows the basic usage of Noir in a TypeScript Node.js environment. It also starts its own network and deploys the verifier contract.
If you want to test only UltraHonk, you can run:
bun run test:uhThe default scripting targets a local environment. For convenience, we added some configurations for deployment on various other networks. You can see the existing list by running:
bunx hardhat vars setupIf you want to deploy on any of them, just pass in a private key, for example for the holesky network:
bunx hardhat vars set holesky <your_testnet_private_key>You can then deploy on that network by passing the --network flag. For example:
bunx hardhat deploy --network holesky # deploys on holeskyFeel free to add more networks, as long as they're supported by wagmi
(list here). Just make sure you:
- Have funds in these accounts
- Add their configuration in the
networksproperty inhardhat.config.cts - Use the name that wagmi expects (for example
ethereumwon't work, aswagmicalls itmainnet)