mirror of
https://github.com/vacp2p/linea-monorepo.git
synced 2026-01-09 04:08:01 -05:00
* use new gkr API
* fix Table pointers
* refactor: remove removed test engine option
* chore: don't initialize struct for interface assertion
* refactor: plonk-in-wizard hardcoded over U64 for now
* refactor: use new gnark-crypto stateless RSis API
* test: disable incompatible tests
* chore: go mod update to PR tip
* chore: dependency against gnark master
* chore: cherry-pick 43141fc13d
* test: cherry pick test from 407d2e25ecfc32f5ed702ab42e5b829d7cabd483
* chore: remove magic values
* chore: update go version in Docker builder to match go.mod
---------
Co-authored-by: Ivo Kubjas <ivo.kubjas@consensys.net>
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