awesome-circom
A curated list of repos related to Circom
https://github.com/arnaucube/awesome-circom
Last synced: 8 days ago
JSON representation
Code editors & tooling
Cryptographic primitives in other languages
- zkrepl - Online playground for Circom circuits
- vscode plugin - VSCode syntax highlighting plugin
- vim plugin - Vim syntax highlighting plugin
- Shield Cli - 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 - Static analyzer and linter for the Circom programming language
- ecne - An engine for verifying the soundness of R1CS constraints
- Picus - Automated verification of uniqueness property for ZKP circuits
- CIVER - A circuit verification tool built on Z3 SMT-solver
- Hardhat ZKit - The ultimate TypeScript environment for Circom development
- circomkit - A testing & development environment for Circom
Cryptographic primitives
Cryptographic primitives in Circom
- circomlib - The standard library of Circom
- circom-ecdsa - secp256k1 ECDSA operations
- circom-pairing - BLS12-381 curve
- zk-attestor - Scalable on-chain trustless attestations to data from any past Ethereum block or state (ethereum storage proofs)
- keccak256-circom - Keccak256 implementation
Cryptographic primitives in other languages
- circomlibjs - Javascript library to work with circomlib circuits
- go-iden3-crypto - Poseidon & mimc hash, babyjubjub elliptic curve
- arbo - Efficient MerkleTree compatible with circomlib, which parallelizes computation by CPUs
- go-merkletree - MerkleTree compatible with circomlib
- poseidon-rs - Poseidon hash function compatible with circomlib
- babyjubjub-rs - BabyJubJub elliptic curve compatible with circomlib
Papers
Cryptographic primitives in other languages
Projects using Circom
Cryptographic primitives in other languages
- hermeznetwork/circuits - Hermez network circuits
- semaphore-protocol/semaphore - A privacy gadget for creating anonymous proof of membership on Ethereum
- tornadocash/tornado-core - Non-custodial private transactions on Ethereum
- worldcoin/semaphore-rs - Rust support library for using Semaphore
- 0xPARC/zk-group-sigs - Group signatures implemented with zkSNARKs
- vocdoni/zk-franchise-proof-circuit - Census proof anonymous voting circuit
- web3-master/zksnark-sudoku - Sudoku verifier using zkSNARK and circom.
- privacy-scaling-explorations/maci - Minimal anti collusion infrastructure
- iden3/circuits - Circom circuits used by the iden3 core protocol
Provers
Cryptographic primitives in other languages
- snarkjs - zkSNARK implementation in JavaScript & WASM
- rapidsnark - zkSNARK proof generation written in C++ and intel assembly
- go-circom-witnesscalc - Witness Calculator in go, calling WASM
- go-circom-prover-verifier - Go implementation of the Groth16 zkSNARK Prover and Verifier compatible with Circom
- arkworks-circom-compat - Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust
- lambdaworks-circom-adapter - LambdaWorks Circom adapter for Groth16 Proof generation in Rust
Tutorials & docs
Cryptographic primitives in other languages
- docs.circom.io - Official Circom docs
- Circom & Snarkjs talk - Jordi Baylina's talk at zkSummit 2019
- Introduction to Zero Knowledge Proof - Tutorial inspired by the presentation "All About the ZkVerse | Polygon" performed by Jordi Baylina at EthDenver22
- Electron Labs - Intro to Circom - Usage of language syntax and programming practices
- Circom101 - In-depth Circom circuit design explanations & concepts