Skip to content

Latest commit

 

History

History
35 lines (23 loc) · 1.06 KB

README.md

File metadata and controls

35 lines (23 loc) · 1.06 KB

evmo

A toy EVM written in Odin.

  • Supports 122 out of 148 opcodes found on evm.codes
  • No external dependencies. Just ~2.5K LoC of Odin and its standard library
  • Tests the basic examples found on evm.codes

Some opcodes were left unimplemented because I didn't think it made sense to implement them given that this is a toy evm and I have accomplished what I set out to do for this implementation

Test

You will need Odin installed.

Run all tests:

$ odin test .

To run specific tests, define key-value pair of ODIN_TEST_NAMES and a comma-separated string of test names as a environment variable:

$ odin test . -define:ODIN_TEST_NAMES=test_add,test_mstore 

Acknowledgements

Acknowledging some resources which I used as reference to write this, thanks!