evmone
evmone copied to clipboard
Fast Ethereum Virtual Machine implementation
Results from my machine (Linux andrew-NUC8i7HNK 5.11.0-25-generic #27-Ubuntu SMP Fri Jul 9 23:06:29 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux): ``` ------------------------------------------------------------------------------------------------------------ Benchmark Time CPU Iterations ------------------------------------------------------------------------------------------------------------ find_jumpdest_split_random 72.3 ns 72.3...
Most of EVM instruction need to check EVM stack height before execution to report stack overflow/underflow errors. In the current implementation the stack height value is computed by subtracting stack...
Notice that the jump instructions (`JUMP`, `JUMPI`) always land on `OPX_BEGINBLOCK`. Therefor we can execute the "beginblock" from within the jump instruction and then target the instruction after `OPX_BEGINBLOCK`. The...
https://eips.ethereum.org/EIPS/eip-3855
The SDK can be found here: https://software.intel.com/content/www/us/en/develop/topics/software-guard-extensions/sdk.html The SDK contains installers for various distros, including recent Ubuntu versions, so should we do this task it would make sense installing it...
For quite a long time we considered creating a WebAssembly build, going back as far as when [runevm](https://github.com/axic/runevm) was created. We did try, but since evmone was using exceptions at...
1. Fix the extension of files with runtime code, e.g. `.code` or `.evm`. Currently all files expect `*.inputs` are assumed to contain code. This makes it inconvenient to have other...
## List of optimizations to investigate ### 1. Extend bytecode with 33 zero bytes This requires copying the original code and adding additional 33 zero bytes in the end. The...
This would enable using a much larger variety of inputs for benchmarking, including token contracts, dexes, and #224.
This could be useful as a preparation for geth or other use cases to make it simple for users' to acquire evmone. @chfast what do you think?