Suppose I start with a Frontier-based template node and want it to sync with a Geth full node, as if it was an Ethereum execution client.

What are the minimal set of changes necessary to make this happen?

2 Answers 2


Not a comprehensive answer, but I do not think this is trivial.

The first and most obvious issue to me would be networking support, as ETH uses devp2p and Substrate / Frontier uses libp2p.

  • Eth moved towards libp2p after the Merge. That doesn't invalidate your answer though, a Frontier/Geth compatibility is near to impossible. Commented Sep 19, 2023 at 16:09

Frontier is a Substrate client that just happens to have an EVM inside the Runtime.

pallet-evm and pallet-ethereum will give you compatibility on an execution and RPC level, but that's it.

All consensus, networking, and storage primitives are completely different from traditional Ethereum clients.

Enabling this kind of compatibility would likely be a daunting engineering effort.

You're better off simply migrating the state and/or history from your Frontier-based EVM to whatever new client you choose.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.