From 2de8d5ea96d73b0757c3a175fb61d88b9b126023 Mon Sep 17 00:00:00 2001 From: erhant Date: Mon, 20 Jan 2025 18:48:02 +0300 Subject: [PATCH] Update README.md --- README.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index c2ce51f..137dacc 100644 --- a/README.md +++ b/README.md @@ -16,11 +16,12 @@ ## Cryptographic primitives ### Cryptographic primitives in Circom -- [circomlib](https://github.com/iden3/circomlib) - main 'standard lib' in Circom +- [circomlib](https://github.com/iden3/circomlib) - The standard library of Circom - [circom-ecdsa](https://github.com/0xPARC/circom-ecdsa) - secp256k1 ECDSA operations - [circom-pairing](https://github.com/yi-sun/circom-pairing) - BLS12-381 curve - [zk-attestor](https://github.com/yi-sun/zk-attestor) - Scalable on-chain trustless attestations to data from any past Ethereum block or state (ethereum storage proofs) -- [keccak256-circom](https://github.com/vocdoni/keccak256-circom) - keccak256 implementation +- [keccak256-circom](https://github.com/vocdoni/keccak256-circom) - Keccak256 implementation +- [zk-kit.circom](https://github.com/privacy-scaling-explorations/zk-kit.circom) - A monorepo of reusable Circom circuits ### Cryptographic primitives in other languages > Cryptographic primitives implemented in other languages which are compatible with Circom implementations @@ -38,7 +39,8 @@ ## Provers - [snarkjs](https://github.com/iden3/snarkjs) - zkSNARK implementation in JavaScript & WASM - [rapidsnark](https://github.com/iden3/rapidsnark) - zkSNARK proof generation written in C++ and intel assembly -- [ark-circom](https://github.com/gakonst/ark-circom) - Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust +- [arkworks-circom-compat](https://github.com/arkworks-rs/circom-compat) - Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust +- [lambdaworks-circom-adapter](https://github.com/lambdaclass/lambdaworks) - LambdaWorks Circom adapter for Groth16 Proof generation in Rust - [go-circom-prover-verifier](https://github.com/iden3/go-circom-prover-verifier/) - Go implementation of the Groth16 zkSNARK Prover and Verifier compatible with Circom - [go-circom-witnesscalc](https://github.com/iden3/go-circom-witnesscalc) - Witness Calculator in go, calling WASM @@ -47,14 +49,20 @@ - [vscode plugin](https://github.com/iden3/circom-highlighting-vscode) - VSCode syntax highlighting plugin - [vim plugin](https://github.com/iden3/vim-circom-syntax) - Vim syntax highlighting plugin - [Shield Cli](https://github.com/xorddotcom/SHIELD) - SHIELD is a development framework for circom developers. SHIELD is a tool to provide libraries, plugins, and testing tools to ensure code quality and security. -- [Circomspect](https://github.com/trailofbits/circomspect) - static analyzer and linter for the Circom programming language +- [Circomspect](https://github.com/trailofbits/circomspect) - Static analyzer and linter for the Circom programming language +- [ecne](https://github.com/franklynwang/EcneProject) - An engine for verifying the soundness of R1CS constraints +- [Picus](https://github.com/Veridise/Picus) - Automated verification of uniqueness property for ZKP circuits +- [CIVER](https://github.com/costa-group/circom_civer) - A circuit verification tool built on Z3 SMT-solver +- [Hardhat ZKit](https://github.com/dl-solarity/hardhat-zkit) - The ultimate TypeScript environment for Circom development +- [circomkit](https://github.com/erhant/circomkit) - A testing & development environment for Circom ## Tutorials & docs -- [docs.circom.io](https://docs.circom.io/) - official Circom docs +- [docs.circom.io](https://docs.circom.io/) - Official Circom docs - [Circom & Snarkjs talk](https://www.youtube.com/watch?v=-9TJa1hVsKA) - Jordi Baylina's talk at zkSummit 2019 - [Electron Labs - Intro to Circom](https://docs.electronlabs.org/intro-to-circom) - Usage of language syntax and programming practices - [BattleZips Zero Knowledge Crash Course](https://www.youtube.com/channel/UCcVGZqz46ELMsjVRIr0VOxw) - Tutorial on building a battleship game on Ethereum & Circom - [Introduction to Zero Knowledge Proof](https://github.com/enricobottazzi/ZKverse) - Tutorial inspired by the presentation "All About the ZkVerse | Polygon" performed by Jordi Baylina at EthDenver22 +- [Circom101](https://circom.erhant.me) - In-depth Circom circuit design explanations & concepts ## Papers > Papers on Circom related constructions and primitives implemented in the circomlib standard library @@ -67,10 +75,10 @@ ## Projects using Circom - [hermeznetwork/circuits](https://github.com/hermeznetwork/circuits) - Hermez network circuits - [iden3/circuits](https://github.com/iden3/circuits/) - Circom circuits used by the iden3 core protocol -- [appliedzkp/maci](https://github.com/appliedzkp/maci) - Minimal anti collusion infrastructure -- [appliedzkp/semaphore](https://github.com/appliedzkp/semaphore) - A privacy gadget for creating anonymous proof of membership on Ethereum +- [privacy-scaling-explorations/maci](https://github.com/privacy-scaling-explorations/maci) - Minimal anti collusion infrastructure +- [semaphore-protocol/semaphore](https://github.com/semaphore-protocol/semaphore) - A privacy gadget for creating anonymous proof of membership on Ethereum - [tornadocash/tornado-core](https://github.com/tornadocash/tornado-core) - Non-custodial private transactions on Ethereum -- [worldcoin/semaphore-rs](https://github.com/worldcoin/semaphore-rs) - Rust support library for using semaphore +- [worldcoin/semaphore-rs](https://github.com/worldcoin/semaphore-rs) - Rust support library for using Semaphore - [0xPARC/zk-group-sigs](https://github.com/0xPARC/zk-group-sigs) - Group signatures implemented with zkSNARKs - [vocdoni/zk-franchise-proof-circuit](https://github.com/vocdoni/zk-franchise-proof-circuit) - Census proof anonymous voting circuit - [web3-master/zksnark-sudoku](https://github.com/web3-master/zksnark-sudoku) - Sudoku verifier using zkSNARK and circom.