vasemkin / zk-template

Minimalistic zk-dApps template for Hardhat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EVM zk-dApps Template

Overview

This project is a zk-dApps template designed for use with Hardhat, an Ethereum development environment. It provides a starting point for building decentralized applications (dApps) with a focus on zero-knowledge proofs (zk-proofs).

Features

  • Smart contract development in Solidity
  • Integration with Hardhat for Ethereum development
  • Support for zk-proofs using Circom
  • TypeScript and Shell scripts for seamless dApp development

Getting Started

  1. Clone the repository:
    git clone https://github.com/vasemkin/zk-template.git
  2. Install dependencies:
    pnpm install
  3. The pnpm installation should triger the preparation script. If this did not happen, run:
    pnpm prepare
  4. Check that it works:
    pnpm test

Usage

  • Write your circuits in circuits/ folder
  • Modify the build script shell/prepare.sh
  • Modify the src/zk.ts utilties according to your public signals

Acknowledgements

Utility functions are adapted from tornado and zk-merkle-tree repositories.

About

Minimalistic zk-dApps template for Hardhat

License:MIT License


Languages

Language:Solidity 57.0%Language:TypeScript 34.2%Language:Shell 4.9%Language:Circom 3.9%