Skip to content

Custom templates in snarkjs

snarkjs provides an implementation of the PLONK's zkSNARK. An extension of the scheme, turbo-PLONK, allows the definition of the so called custom gates: more general transition gates than the ones defined by default for the regular PLONK zkSNARK, that allows the circuit's designer to, maybe, reduce the number of used gates, probably resulting in shorter proofs size or verification times. This document will contain a list of the custom gates implemented in snarkjs that can be used in the circom language. Note that the list may grow over time with the new implementations from the iden3 collaborators or thanks to contributions from the community.

List of custom gates implemented in snarkjs

At the moment there are no custom gates implemented in snarkjs yet.