Expand description

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

Gadgets

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

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.

Modules

Elliptic curve operations.

The Poseidon algebraic hash function.

sha256unstable

The SHA-256 hash function.

The Sinsemilla hash function.

Utility gadgets.