New unified EVM runner for Frontier!

In the past, users of Frontier have to compromise and choose between two different runners:

  • Stack runner, which focuses on Ethereum compliance.
  • Builtin runner, which has better Substrate interoperability.

The compromise is no more!

This PR removes the need of this compromise, and introduces a unified EVM runner that has both good Ethereum compliance and Substrate interoperability. This is done by generalizing the StackExecutor in evm crate to expose a concrete and “dumb” StackState trait. Users of evm now only need to implement StackState trait, and can re-use all other call/create/transact logic in the executor, which has already passed EVM test suites. The impl of StackState in Substrate then uses Substrate’s storage transactional layer, which makes it suitable for any Substrate interoperability jobs.

We are looking into the frontier pallet for a side-chain to ICON and many parachains I’m talking to also use the Frontier Pallet. Having said that, I’m not exactly sure what the purpose of your post is, can you elaborate on what you’re trying to say here? Are you simply sharing an update on the frontier pallet? Want to make sure I’m not missing something

1 Like

Nice. I understand it may not fit the current tech stack. I am just putting it in the mix (as it is a new release), in case it helps.