/zkWeb

🔑 Generate proofs and prove knowledge without revealing secrets. An open-source ZKP platform.

Primary LanguageTypeScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Bringing zero knowledge proofs to the web - for everyone!

Features · Documentation · Deploy to Vercel · Clone and run locally · Feedback and issues · Become a Contributor


This is a free and open source fun side project funded and maintained by ✨me✨ to help people use and learn about ZKPs 🤓


Features

Stack:

  • Next.js
  • Tailwind CSS
  • Jest
  • Supabase
  • Vercel
  • zkWeb relies on the zokrates.js toolbox. It would be beneficial to familiarize yourself with Zokrates before working with this project.

Documentation

Please refer to the full zkWeb documentation for a comprehensive overview of ZKP technical implementation.

Deploy to Vercel

All pushes to the main branch will trigger a production deployment.

Clone and run locally

  1. Clone the project

  2. Create a .env.local and update the following (reach out about becoming a contributor to get env credentials):

    NEXT_PUBLIC_SUPABASE_URL=[INSERT SUPABASE PROJECT URL]
    NEXT_PUBLIC_SUPABASE_ANON_KEY=[INSERT SUPABASE PROJECT API ANON KEY]
    

    Without the env values you can still build the frontend locally but you wil not be able to see any of the proofs or make calls to the database. In the future, the goal is to set up Supabase for local development.

  3. You can now run the Next.js local development server:

    npm run dev

    The app should now be running on localhost:3000.

  4. Husky pre-commit hooks are set up to run both the unit tests and the linter. These can also be run separately with the commands npm run test and npm run lint.

Feedback and issues

Please file feedback and issues over on the zkWeb GitHub org.

Become a Contributor

If you would like to become a zkWeb contributor, please reach out to zkwebproject@gmail.com to introduce yourself and tell us why you want to help out! Open tickets: task board