Giter Club home page Giter Club logo

halo2-zk-github-wallet's Introduction

halo2-zk-github-wallet

This repo is a for EF PSE acceleration-program: privacy-scaling-explorations/acceleration-program#43

Set up for GitHub

Email verification circuit in halo2.

Disclaimer

DO NOT USE THIS LIBRARY IN PRODUCTION. At this point, this is under development not audited. It has known and unknown bugs and security flaws.

Features

halo2-zk-email provides a library and a command-line interface for an email verification circuit compatible with the halo2 library developed by privacy-scaling-explorations team.

Requirement

  • rustc 1.68.0-nightly (0468a00ae 2022-12-17)
  • cargo 1.68.0-nightly (cc0a32087 2022-12-14)
  • solc 0.8.19+commit.7dd6d404
  • anvil 0.1.0 (0d3bd04 2022-11-20T00:11:22.107775Z)

Install solc (Mac instructions):

brew tap ethereum/ethereum
brew install solidity

Installation and Build

You can install and build our library with the following commands.

git clone https://github.com/zkemail/halo2-zk-email.git
cd halo2-zk-email
cargo build --release

Usage

You can open the API specification by executing cargo doc --open.

Test

You can run the tests by executing cargo test --release.

CLI

You can install CLI zkemail to prove and verify emails as follows: cargo install --path .

To generate a proof and verify it on EVM, do:

cargo build --release
zkemail gen-params --k 18
zkemail gen-keys
zkemail gen-evm-verifier
zkemail evm-prove
zkemail evm-verify

To generate regex files for a new decomposed regex definition. do:

zkemail gen-regex-files --decomposed-regex-config-path new_regex_file.json --regex-files-prefix new_regex

WASM prover on browser

You can generate a proof on browser with our wasm prover. For more information, please see examples/web-client/README.md.

halo2-zk-github-wallet's People

Contributors

sorasuegami avatar divide-by-0 avatar hcheng826 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.