Fast Ethereum Virtual Machine implementation
The C++ implementation of the Ethereum Virtual Machine (EVM) focused on speed. Compatible with EVMC.
- The "indirect" subroutine threading is the dispatch method - a table with pointers to subroutines is prepared during the analysis of the bytecode.
- The gas cost and stack requirements of block of instructions is precomputed and applied once per block during execution.
- The intx library is used to provide 256-bit integer precision.
- The ethash library is used to provide Keccak hash function implementation
needed for the special
SHA3
instruction.
To build the evmone EVMC module (shared library), test or benchmark.
git clone --recursive https://github.com/chfast/evmone
cd evmone
mkdir build
cd build
cmake .. -DEVMONE_TESTING=ON
cmake --build . -- -j
bin/evmone-unittests
bin/evmone-bench
Paweł Bylica @chfast
Licensed under the Apache License, Version 2.0.