openethereum/evmbin
Wei Tang 1e9aebbc86
Resumable EVM and heap-allocated callstack (#9360)
* Add new Vm trappable interface

* Exec/Resume interface

* Basic implementation of CallCreateExecutive

* Implement resume_call and resume_create for executive

* Move convertion to call/create result to separate function

* Implement consume that converts resumable to non-resumable

* Use consume for Executive::call/create

* Resumable EVM

* Implement tracing mode without needing subtracers

* Implement vmtracer so it doesn't require extra structs for subtracing

* Use the new tracing mode in executive

* Fix most of the linting errors for cargo build

* Add the concept of stack_depth

* Add back crossbeam

* Fix some test compile

* Fix prefix address test

* Fix evm crate tests

* Fix wasm crate test compile

* Fix wasm runner compile

* Fix jsontests compile

* Fix evmbin compile

* Fix an issue with create nonce and better vm tracing interface

* Fix linting

* Fix evmbin compile

* Fix unconfirmed_substate and static_flag

* Fix an issue in create address logic

* Fix top-level tracing

* Handle builtin tracing

* Fix suicide and reward tracing index stack

* Fix an issue where trap conflicts with tracing

* Fix an issue in parent step vm tracing

* Fix revert tracing

* Fix evmbin tests

* Remove params clone

* Fix TODO proofs

* Fix jsontests compile

* Fix evmbin merge issue

* Fix wasm merge issue

* Fix wasm test

* Fix ethcore merge warnings

* Fix evmbin compile

* Better expect messages and add some trace::skip_one asserts
2018-10-02 22:33:19 +08:00
..
benches Update `license header` and `scripts` (#8666) 2018-06-04 10:19:50 +02:00
res Allow calling contracts in genesis state. (#9375) 2018-08-20 13:05:01 +01:00
src Resumable EVM and heap-allocated callstack (#9360) 2018-10-02 22:33:19 +08:00
Cargo.toml Replace hardcoded JSON with serde json! macro (#9489) 2018-09-11 11:36:38 +02:00
README.md Random small cleanups (#9423) 2018-08-30 19:57:27 +02:00

README.md

evmbin

EVM implementation for Parity.

Usage

EVM implementation for Parity.
  Copyright 2015-2018 Parity Technologies (UK) Ltd.

Usage:
    parity-evm state-test <file> [--json --std-json --only NAME --chain CHAIN]
    parity-evm stats [options]
    parity-evm stats-jsontests-vm <file>
    parity-evm [options]
    parity-evm [-h | --help]

Commands:
    state-test         Run a state test from a json file.
    stats              Execute EVM runtime code and return the statistics.
    stats-jsontests-vm Execute standard json-tests format VMTests and return
                       timing statistics in tsv format.

Transaction options:
    --code CODE        Contract code as hex (without 0x).
    --to ADDRESS       Recipient address (without 0x).
    --from ADDRESS     Sender address (without 0x).
    --input DATA       Input data as hex (without 0x).
    --gas GAS          Supplied gas as hex (without 0x).
    --gas-price WEI    Supplied gas price as hex (without 0x).

State test options:
    --only NAME        Runs only a single test matching the name.
    --chain CHAIN      Run only tests from specific chain.

General options:
    --json             Display verbose results in JSON.
    --std-json         Display results in standardized JSON format.
    --chain CHAIN      Chain spec file path.
    -h, --help         Display this message and exit.

Parity Ethereum toolchain

This project is a part of the Parity Ethereum toolchain.

  • evmbin - EVM implementation for Parity Ethereum.
  • ethabi - Parity Ethereum function calls encoding.
  • ethstore - Parity Ethereum key management.
  • ethkey - Parity Ethereum keys generator.
  • whisper - Implementation of Whisper-v2 PoC.