mirror of
https://github.com/vacp2p/linea-monorepo.git
synced 2026-01-09 04:08:01 -05:00
* feat(exit): make sure that keccak uses 77 when overflowing and not a panic message * feat(exit): makes PadAssign return a 77 when vector builder overflows * feat(exit): adds a toggle mechanism for the exiting strategy * feat(unsatisfied): adds exiting when encountering an unsatisfied constraint * adds the toggle for the exit when finding unsatisfied constraints * feat(77): uses the 77 exit code to tell when we have too many merkle proofs * fix log for modexp
linea-monorepo/prover
This directory contains the implementation of the prover of Linea. As part of it, it contains an implementation of the Vortex polynomial commitment, of the Arcane compiler, the instantiation of the zkEVM using the arithmetization and the server implementation.
Building and running
The prover has the following build dependencies
rust@1.74.0andcargogo@1.21.5make
The repository counts 2 main binaries:
bin/prover:bin/prover setupgenerate the assets (setup / preprocessing)bin/prover proverun process a request, create a proof and outputs a response.bin/controller: a file-system based server to run Linea's prover
Building and running the setup generator
The setup-generation (make setup) is used to generate the setup for all the types of provers. Execution, Decompression and Aggregation.
By default, if the --force flag is not provided, the tool will compile the circuit and check if the destination dir already contains a setup that matches, skipping the CPU intensive phase of the actual plonk Setup if needed.
Run
make setup
Integration tests
./integration/run.sh dev-mode
./integration/run.sh full-mode