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 in this directory for how to build it.

evm4eosio-demo contains test cases and demo for running evm bytecode. Refer the 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.

Built With

  • ethash
  • evmone
  • intx
  • rlp
  • secp256k1
Share this project: