Too Long; Didn't Read
In the previous article, we discussed how to use halo2 for circuit development. In this article we will illustrate what we need to pay attention to when developing circuits. We refer to the halo2 code, version f9b3ff2aef09a5a3CB5489d0e7e747e9523d2e6e.
3 parts are discussed here; Configure, Synthesize and Layouter. Wherein according to the declaration of the configure function, when defining a circuit, the ConstraintSystem will be modified and it will return to Config for later use. The synthesize function assigns a value to Layouter based on the config provided. Layouter is chip-agnostic and is used to assign circuits, such as row indices.