mirror of
https://github.com/vacp2p/linea-monorepo.git
synced 2026-01-09 20:27:58 -05:00
This adds the option to run the checker in "bench" mode, and also adds support for passing a go-corset optimisation level via the bin/checker. The purpose of this is to enable testing at different optimisation levels to see what effect this has. Finally, it exposes the metadata stored in the zkevm.bin file, such that it can be used for cross-checking purposes. For example, the metadata includes the git commit of the enclosing repository when it was built. --------- Co-authored-by: AlexandreBelling <alexandrebelling8@gmail.com>
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