nimbus-eth1/tools/evmstate
jangko a31db89e0e
fix t8n tool bug and accounts cache bug
t8n: a silly bug contract address generator, should use original
tx nonce instead of read the nonce from sender address in state db.
Although in EVM contract address generated by reading nonce from state db
is correct, outside EVM that nonce value might have been modified,
thus generating incorrect contract address.

accounts cache: when clearing account storage, the originalValue
cache is not cleared, only the storageRoot set to empty storage root,
this will cause getStorage and getCommitedStorage return wrong value
if the originalValue cache contains old value.
2023-03-23 11:07:30 +07:00
..
testdata cleanup numeric utils and remove unstable rangeToPadded 2022-12-21 18:41:03 +07:00
config.nim tools: add missing copyright header 2022-12-10 19:53:24 +07:00
config.nims enable chronicles runtime filtering of t8n and evmstate tools 2022-11-18 00:56:23 +07:00
evmstate.nim fix t8n tool bug and accounts cache bug 2023-03-23 11:07:30 +07:00
evmstate_test.nim Bump Nim to 1.6 and resolve the related issues (#1445) 2023-01-26 13:37:19 +01:00
helpers.nim Reduce Nim 1.6 compiler warnings & hints 2023-01-31 13:38:08 +01:00
readme.md fix evmstate,t8n,txparse build instructions 2022-12-14 21:53:41 +07:00

readme.md

EVM state test tool

The evmstate tool to execute state test.

Build instructions

There are few options to build evmstate tool like any other nimbus tools.

  1. Use nimble to install dependencies and your system Nim compiler(version <= 1.6.0).
    $> nimble install -y --depsOnly
    $> nim c -d:release tools/evmstate/evmstate
    $> nim c -r -d:release tools/evmstate/evmstate_test
    
  2. Use nimbus shipped Nim compiler and dependencies.
    $> make update deps
    $> ./env.sh nim c -d:release tools/evmstate/evmstate
    $> ./env.sh nim c -r -d:release tools/evmstate/evmstate_test
    
  3. Use nimbus makefile.
    $> make update
    $> make evmstate
    $> make evmstate_test
    

Command line params

Available command line params

Usage:

evmstate [OPTIONS]... <inputFile>

 <inputFile>         json file contains state test data.

The following options are available:

 --dump              dumps the state after the run [=false].
 --json              output trace logs in machine readable format (json) [=false].
 --debug             output full trace logs [=false].
 --nomemory          disable memory output [=true].
 --nostack           disable stack output [=false].
 --nostorage         disable storage output [=false].
 --noreturndata      enable return data output [=true].
 --fork              choose which fork to be tested.
 --index             if index is unset, all subtest in the fork will be tested [=none(int)].
 --pretty            pretty print the trace result [=false].
 --verbosity         sets the verbosity level [=0].
                        0 = silent, 1 = error, 2 = warn, 3 = info, 4 = debug, 5 = detail.