snarkjs VS circomlibjs

Compare snarkjs vs circomlibjs and see what are their differences.

snarkjs

zkSNARK implementation in JavaScript & WASM (by iden3)

circomlibjs

Javascript library to work with circomlib circuits (by iden3)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
snarkjs circomlibjs
6 2
1,667 73
2.5% -
7.5 4.7
5 days ago 3 days ago
JavaScript JavaScript
GNU General Public License v3.0 only -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

snarkjs

Posts with mentions or reviews of snarkjs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-08.

circomlibjs

Posts with mentions or reviews of circomlibjs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-26.
  • How to Implement a ZK rollup
    4 projects | dev.to | 26 Dec 2023
    The advantage of SMT over the general Merkle tree is that it not only allows us to provide an inclusion proof but also an exclusion proof. This means that we can prove that a tree does not contain a value for the given key. Thanks to this, we can prove any operation (insert, delete, update), which will be a very important property of our rollup. Fortunately, Circomlib (and CircomlibJS) includes an SMT implementation, so we do not need to implement this ourselves.
  • Zero-Knowledge Proofs Using SnarkJS and Circom
    6 projects | dev.to | 13 Jan 2023
    Circomlib has a JS implementation that can be used for this. Let’s install it:

What are some alternatives?

When comparing snarkjs and circomlibjs you can also consider the following projects:

powersoftau - Communal zk-SNARK MPC for Public Parameters

circomlib - Library of basic circuits for circom

phase2-bn254

tornado-core - Tornado cash. Non-custodial private transactions on Ethereum.

circom - zkSnark circuit compiler

ideas-for-projects-people-would-use - Every time I have an idea, I write it down. These are a collection of my top software ideas -- problems I think enough people have that don't have solutions. I expect you can reach a decent userbase if marketed correctly, as I am surely not the only one with these problems.

zksnark-tutorial - JavaScript tutorial for Zero-Knowledge Proofs using SnarkJS and Circom

webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.

mini-zk-rollup - Minimalistic zk rollup implementation with Sparse Merkle Tree and EdDSA signatures

perpetualpowersoftau - New repo: https://github.com/privacy-scaling-explorations/perpetualpowersoftau

rapidsnark - rapidsnark is a fast zkSNARK prover written in C++, that generates proofs for circuits created with circom and snarkjs.