GithubHelp home page GithubHelp logo

xyq-c-cpp / zkevm-circuits Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scroll-tech/zkevm-circuits

0.0 0.0 0.0 17.35 MB

License: MIT License

Shell 0.08% Go 0.40% Rust 98.73% Makefile 0.07% Handlebars 0.02% Dockerfile 0.04% Solidity 0.65%

zkevm-circuits's Introduction

Circuits for zkEVM

This is the zkEVM circuits used in Scroll Mainnet. It was forked from PSE zkevm-circuits and added a lot of new features later:

  1. SHA256 / MODEXP / EC precompiles
  2. RLP circuit / MPT circuit / Poseidon circuit
  3. multi block chunking
  4. proof aggregation
  5. >99.5% compatibility with official EVM test vector
  6. Many optimizations like read/write memory in word instead of byte

Docs

High level design: https://docs.scroll.io/en/technology/zkevm/zkevm-overview/
Detailed circuit docs: https://github.com/scroll-tech/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

zkevm-circuits's People

Contributors

lispc avatar silathdiir avatar cperezz avatar dreamwugit avatar roynalnaruto avatar lightsing avatar kunxian-xia avatar chihchengliang avatar ed255 avatar z2trillion avatar pinkiebell avatar noel2004 avatar han0110 avatar scroll-dev avatar zhenfeizhang avatar naure avatar adria0 avatar leolara avatar brechtpd avatar davidnevadoc avatar therealyingtong avatar darth-cy avatar smtmfft avatar succinctpaul avatar ntampakas avatar rrzhang139 avatar haoyuathz avatar aronisat79 avatar xiaodino avatar icemelon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.