Skip to content

morph-l2/zkevm-circuits

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Circuits for zkEVM

This is the zkEVM circuits used in Morph Mainnet. It was forked from Scroll zkevm-circuits, with many new features added and more planned for the future:

  1. Sequencer set circuit for decentralized sequencer
  2. EIP4844 circuit
  3. Optimal zk-friendly permutation schemes used in the hash function for zktrie, along with the circuits.
  4. Faster zero-knowledge proof system

Docs

Detailed circuit docs: https://github.com/morph-l2/zkevm-circuits/tree/develop/docs

Getting started

We recommend developers to go to our circuit playground repo for a detailed step-by-step guide on how to run proving.

Project Layout

This repository contains several Rust packages that implement the zkevm. The high-level structure of the repository is as follows:

bus-mapping

  • a crate designed to parse EVM execution traces and manipulate all of the data they provide in order to obtain structured witness inputs for circuits.

circuit-benchmarks

  • (Deprecated) Measures performance of each circuit based on proving and verifying time and execution trace parsing and generation for each subcircuit

eth-types

  • Different types helpful for various components of the EVM

external-tracer

  • Generates traces by connecting to an locally linked Geth EVM tracer

gadgets

geth-utils

  • Provides output from geth tracing APIs as circuit inputs

integration-tests

  • Integration tests for all circuits

keccak256

  • (Deprecated) Modules for Keccak hash circuit

mock

  • Testing module. Mock definitions and methods that are used to test circuits or opcodes

testool

  • Parser and driver of official Ethereum Execution Tests

zkevm-circuits

  • Main package that contains all circuit logic

zktrie

  • Wrapper of scroll binary poseidon trie

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 98.8%
  • Solidity 0.6%
  • Go 0.4%
  • Shell 0.1%
  • Makefile 0.1%
  • Dockerfile 0.0%