Skip to content

powdr-labs/powdr-revme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

powdr-revme

This repository uses powdr as a library to make ZK proofs for the Ethereum tests via revm. It is meant as test- and benchmark-bed for powdr and provers.

Please see the powdr docs for basic instructions on how to use powdr as a library.

Usage

Usage: bin [OPTIONS] --test <TEST>

Options:
  -t, --test <TEST>
  -o, --output <OUTPUT>  [default: .]
  -f, --fast-tracer
  -w, --witgen
  -p, --proofs
  -h, --help             Print help

Checkout the Ethereum tests. The only argument required is the test path. The path may be a single file or a directory. If only the path is given, powdr only compiles the Rust code all the way to powdr-PIL. The fast tracer is a powdr-IR executor that is useful for quick checks. Witness generation (witgen) creates the witness required for proofs. Proofs have not been added to this repo yet.

Example running only the fast tracer:

cargo run -r -- -t tests/accessListExample.json -f

Crates

This repo contains 3 crates:

  • bin: the main binary, meant to run natively. It reads the given tests and manages calls to powdr.
  • evm: the code we want to make proofs for. It deserializes a test suite, runs revm, and asserts that the test expectation is met. Most of the code here comes from revme.
  • models: some data structures needed for test ser/derialization. This code comes from revme.

About

powdr application running Ethereum tests via revm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages