Consensys / linea-tracer

Part of the Linea stack responsible for extracting data from the execution of an EVM client in order to construct large matrices called execution traces.
https://linea.build
Other
35 stars 25 forks source link
arithmetization

Linea tracer (zkEVM)

This repository hosts a Linea tracing implementation for Besu based on an implementation in Go.

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 linea-specification repo and implemented in the linea-constraints repo.

It serves developers by making the Linea tech stack open source under the Apache 2.0 license.

What is Linea?

Linea is a developer-ready layer 2 network scaling Ethereum. It's secured with a zero-knowledge rollup, built on lattice-based cryptography, and powered by Consensys.

Get started

If you already have an understanding of the tech stack, use our Get Started guide.

Looking for plugins?

Discover existing plugins and understand the plugin release process.

Looking for the Linea code?

Linea's stack is made up of multiple repositories, these include:

Linea abstracts away the complexity of this technical architecture to allow developers to:

... and more.

How to contribute

Contributions of any kind are welcome!

  1. Create an issue.

    If the proposed update is non-trivial, also tag us for discussion.

  2. Submit the update as a pull request from your fork of this repo, and tag us for review.

    Include the issue number in the pull request description and (optionally) in the branch name.

Consider starting with a "good first issue".

Before contributing, ensure you're familiar with:

Useful links

Update reference tests

To update the reference tests, run the following commands:

cd reference-tests/src/test/resources/ethereum-tests
git fetch
git checkout <branch or commit>
# update LegacyTests submodule of new commit
git submodule update --init --recursive
# go back to project root
cd ../../../../..
git add reference-tests/src/test/resources/ethereum-tests/
git commit -m "<commit message>"