logoAcademy

Different Versions of EVM

Learn about the different versions of Ethereum Virtual Machine (EVM) in Avalanche ecosystem.

Geth

Geth (or go-ethereum) is the official implementation of an Ethereum client, written in the Go programming language. It is one of the original and most popular Ethereum clients used today. It is responsible for handling transactions, the deployment and execution of smart contracts and contains the Ethereum Virtual Machine.

Coreth

Coreth is a fork of Geth maintained by the Ava Labs team that implements the Virtual Machine of the C-Chain. It has been adapted to work with Avalanche Consensus.

Avalanche L1-EVM

Avalanche L1-EVM is a fork of Coreth that has been altered to make it easy to launch customized EVM-based blockchains on a Avalanche L1. It differs from Coreth in the following ways:

→ Configurable fees and gas limits were added in genesis

→ Avalanche hardforks were merged into the single "Avalanche L1 EVM" hardfork

→ Atomic Txs and Shared Memory were removed

→ Multicoin Contract and State were removed

Precompile-EVM

Precompile-EVM enables registering precompiles to Avalanche L1-EVM without forking the Avalanche L1-EVM codebase. It makes the most common customization of Avalanche L1-EVM easier and more approachable. Also it makes it easier to keep Avalanche L1-EVM up-do-date.

On this page