Consensys / evm-dafny

An EVM interpreter in Dafny
Apache License 2.0
126 stars 8 forks source link

Support Blockchain Tests #71

Open DavePearce opened 2 years ago

DavePearce commented 2 years ago

Right adding support for the full blockchain tests (i.e. those found in the BlockchainTests directory) should be relatively straightforward in theory (he says), though there are some differences in the formats. The format of these tests is described here:

https://ethereum-tests.readthedocs.io/en/latest/test_types/blockchain_tests.html

(versus the state tests described here)

@hmijail This is the placeholder issue for this process, so we don't forget about it!

DavePearce commented 2 years ago

The main difference between the test kinds is that the blockchain tests support multiple transactions (i.e. have a transactions array) rather than just a single transaction entry.

DavePearce commented 2 years ago

There also appear to some challenges here generating the internal state data from Geth's evm command. It requires some level of preprocessing on the input file. Potentially, there are retesteth scripts which could be used for this. Or, we can just split up the json files ourselves.