Compatibility with Ethereum
The EVM Interface targets compatibility with the Ethereum ecosystem:
- Supports the Ethereum JSON-RPC standard
- Supports standard EVM opcodes and precompiles
- Compatible with tooling such as MetaMask, ethers.js, viem, Hardhat, and Foundry
Differences between Etherlink EVM and Ethereum
While Etherlink EVM is intended to be fully EVM-compatible, it differs in some ways:
-
As described in Ethereum endpoint support, Etherlink EVM does not support all EVM RPC endpoints.
-
Etherlink EVM calculates gas fees differently; see Fee structure.
-
Etherlink EVM computes the state world hash with a different function than Ethereum uses. Therefore it is not compatible with EVM "light clients" that compute states in the way that Ethereum does, with the
Keccak-256hash function. Therefore, Etherlink EVM is not compatible with EVM light-client implementations that use this hash function, such as Geth's light client and OpenEthereum. -
Etherlink EVM computes block hashes in a custom way, not including every header field. Therefore, you cannot compute Etherlink EVM block hashes with tools such as Geth.