You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5.5 KiB

Awesome Circom

A curated list of repos related to Circom.

Contents

Cryptographic primitives

Cryptographic primitives in Circom

Cryptographic primitives in other languages

Cryptographic primitives implemented in other languages which are compatible with Circom implementations

  • Javascript
    • circomlibjs - Javascript library to work with circomlib circuits
  • Go
    • 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
  • Rust
    • poseidon-rs - Poseidon hash function compatible with circomlib
    • babyjubjub-rs - BabyJubJub elliptic curve compatible with circomlib

Provers

  • snarkjs - zkSNARK implementation in JavaScript & WASM
  • rapidsnark - zkSNARK proof generation written in C++ and intel assembly
  • ark-circom - Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust
  • go-circom-prover-verifier - Go implementation of the Groth16 zkSNARK Prover and Verifier compatible with Circom
  • go-circom-witnesscalc - Witness Calculator in go, calling WASM

Code editors & tooling

  • 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

Tutorials & docs

Papers

Papers on Circom related constructions and primitives implemented in the circomlib standard library

Projects using Circom