Crate halo2_gadgets

source ·
Expand description

This crate provides various common gadgets and chips for use with halo2_proofs.


Gadgets are an abstraction for writing reusable and interoperable circuit logic. They do not create any circuit constraints or assignments themselves, instead interacting with the circuit through a defined “instruction set”. A circuit developer uses gadgets by instantiating them with a particular choice of chip.


Chips implement the low-level circuit constraints. The same instructions may be implemented by multiple chips, enabling different performance trade-offs to be made. Chips can be highly optimised by their developers, as long as they conform to the defined instructions.