What it does
Running ethereum bytecode in eosio smart contract
How I built it
This is the third submission, leveraging evmone open source project, which is under Apache license.
The attached source code contain two directory: evmone4eosio and evm4eosio-demo
evmone4eosio is the source code that can generate a wasm file called evmone.wasm . Please read the README.md in this directory for how to build it.
evm4eosio-demo contains test cases and demo for running evm bytecode. Refer the README.md in this directory for how to use it.
Challenges I ran into
Compile EVM source code to WASM
Fix memory corruption under 32 bytes alignment memory allocation
Accomplishments that I'm proud of
Abstracting vm api functions from eosio which allow compile C++ smart contract to native code without changes.
What I learned
Security > Usability > Maintainability > Simplicity > Performance
What's next for evmone4eos
Bug Fixes & Continue to improve evm performance and some other things.