Skip to content

Commit

Permalink
chore(docs): revme readme update (#898)
Browse files Browse the repository at this point in the history
  • Loading branch information
refcell committed Dec 4, 2023
1 parent e802930 commit 8c8e0a4
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Expand Up @@ -6,7 +6,7 @@ target
.idea
pkg/


tests
bins/revme/temp_folder
bins/revme/tests
ethereumjs-util.js
Expand Down
26 changes: 24 additions & 2 deletions bins/revme/README.md
@@ -1,4 +1,26 @@
# Rust EVM executor or short REVME

This is binary crate that executed evm multiple ways. Currently it is used to run ethereum tests:
* statetest: takes path to folder where ethereum statetest json can be found. It recursively searches for all json files and execute them. This is how i run all https://github.com/ethereum/tests to check if revm is compliant. Example `revme statests test/GenericEvmTest/`
`revme` is a binary crate to execute the evm in multiple ways.

Currently it is mainly used to run ethereum tests with the `statetest` subcommand.

## State Tests

`statetest` takes a path to the directory where ethereum statetest json can be found.
It recursively parses all json files in the specified directory and executes them.

Running all [ethereum tests][et] checks that revm is compliant to the ethereum specs.

To run [ethereum tests][et] locally, clone the [tests][et] repository and provide the
test directory. Below, we clone the repo and execute the `GeneralStateTests` suite of
tests.

```shell
git clone https://github.com/ethereum/tests
cargo run -p revme statetest tests/GeneralStateTests
```

*Notice, in the [`.gitignore`](../../.gitignore), the `bins/revme/tests` directory
is ignored so it won't be checked into git.*

[et]: https://github.com/ethereum/tests

0 comments on commit 8c8e0a4

Please sign in to comment.