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.

Subnet-EVM

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

→ Configurable fees and gas limits were added in genesis

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

→ Atomic Txs and Shared Memory were removed

→ Multicoin Contract and State were removed

Precompile-EVM

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

Updated:

On this page

Edit on Github