Source repositories
Lineth and Linea are open source, meaning you can inspect the code yourself.
This page describes the source repositories for Lineth, Linea Mainnet components, and supporting libraries.
lineth-monorepo​
The primary Lineth repository. It includes the components that power Linea Mainnet and operator-built networks:
- Coordinator: responsible for multiple orchestrations
- Linea Besu plugins: to support the sequencer, tracer, and RPC nodes
- Postman: for executing cross-chain messages
- Prover: in charge of generating ZK proofs
- Sequencer: responsible for ordering, building, and executing blocks
- Smart contracts: covering rollup and message-service functions
arithmetization​
Specification and arithmetization of the constraint system underlying Lineth's zkEVM.
Constraints are mathematical equations and a constraint system is a collection of such equations. Lineth's constraint system aims to capture the logic of valid EVM executions.
The constraints specified here are implemented in the tracer-constraints directory.
tracer-constraints​
Implementation of the constraint system specified in the arithmetization directory.
Lineth's constraint system applies to so-called "traces", which are large matrices of fixed width
(that is, a fixed number of columns or "registries") and variable depth (correlating with the complexity
of the EVM execution). The production of such traces is the job of the linea-tracer repo.
Constraints and traces are two of the inputs to the prover.
linea-tracer​
Linea Besu plugin which produces the traces that the constraint system applies and that serve as inputs to the prover.
Tracing refers to the process of extracting data from the execution of an EVM client in order to
construct large matrices known as execution traces. Execution traces are subject to the constraint
system specified in the arithmetization directory and implemented in the tracer-constraints directory.
linea-besu-upstream​
A Besu build configured for Linea.
Besu is an Ethereum client that supports Linea as a named network, with optional plugins for additional functionality.
As Linea is EVM-equivalent, it is compatible with standard Ethereum clients.
gnark​
The proving library used for zk-SNARK circuits and efficient cryptographic primitives.
shomei​
A state manager used by Lineth deployments to maintain and update network state.
maru​
Lineth's consensus layer client, implementing the QBFT consensus algorithm.