Understanding the Ethereum Virtual Machine Canister (EVMC): A Beginner’s Guide

Managing Editor InfinitySwap
BitfinityNetwork
Published in
4 min readMar 12, 2023

Welcome to the beginner’s guide to InfinitySwap’s Ethereum Virtual Machine Canister, or EVMC!

This article is meant for a general audience and requires no prior technical knowledge about blockchain technology. If, however, you’re confident you know your way around the basics of Ethereum and the Internet computer, please check out my much more detailed introduction, “How InfinitySwap’s Ethereum Virtual Machine Canister (EVMC) Works and Why It Matters.”

Without further ado, let’s dive right in!

Smart Contracts and Solidity

You may have heard of smart contracts before — they’re digital agreements that are automatically enforced when certain conditions are met. The EVMC is a platform that lets you run smart contracts written in a language called Solidity on the Internet Computer (ICP), a blockchain that’s now compatible with Ethereum.

Solidity is a computer language that’s used to write smart contracts on blockchain platforms. It’s designed to be a safe and secure language, making it hard to write code that could cause problems or security issues. Smart contracts written in Solidity are stored entirely on the blockchain, making them transparent, secure, and tamper-proof.

Architecture of the EVMC

Now, let’s talk about the architecture of the EVMC. It has four key components: (1) EVM API canisters, (2) the EVM Executor canister, (3) Signature Verifier canisters, and (4) the Blockchain canister. Canisters are like bundled packages of computer code and the data that the code needs to run.

The EVM API canisters receive requests from Ethereum clients and Internet Computer agents, which are then batched into a pending transaction pool. The EVM Executor canister processes these transactions, updates the global EVM state, and the Blockchain canister accordingly.

The Blockchain canister is where the Ethereum chain blocks are stored. It stays in the Internet Computer’s stable canister storage. Stable canister storage keeps information safe that would otherwise be lost when the canister’s code is scooped out and replaced with newer code. The Signature Verifier canisters are used to verify the signature of an Ethereum transaction, a computationally expensive task performed in a dedicated pool of canisters to avoid too much computation in the EVM API canisters.

What Makes InfinitySwap’s EVMC Great

The EVMC is faster than the main Ethereum network EVM implementation as it optimizes transaction throughput by performing signature verification and the batching of transactions. The EVMC is fully on-chain, with code and data executed in web assembly. Parallel computation is achieved through a multi-canister architecture, which is what makes the EVMC blazingly fast.

The EVMC matters because it is a revolutionary development of the best existing features of the EVM on Ethereum, plus so much more! The EVMC is well-tested, with high coverage across core modules. The EVMC uses existing libraries, such as REVM, Retest, the canister-SDK (software development kit), and the Internet Computer’s stable-storage libraries to make the best use of existing Ethereum libraries.

Conclusion

In conclusion, InfinitySwap’s EVMC is an innovative project that creates a fast, cost-effective implementation of the EVM that is compatible with Ethereum smart contracts but runs on the Internet Computer. The EVMC architecture consists of four components that work together to process transactions and update the global EVM state and data stored on the blockchain accordingly. It’s a revolutionary enhancement of Ethereum’s classic EVM implementation on a new blockchain that’s quick, secure, and transparent.

Connect with InfinitySwap

Bitfinity Wallet |AMM | Twitter | Website | Telegram | Discord | Github

--

--