The Ethereum Virtual Machine

Overview

EVM is the runtime for smart contracts.

EVM is sandboxed and isolated, which means EVM has no access to network, fs and other processes, etc.

Accounts

There are 2 type of accounts share the address space:

  • public-private key pair as External accounts
  • code controlled Smart Contract

Every account has a balance and storage.

Transactions

Gas

Storage, Memory and the Stack

Instruction Set

Message Calls

Delegatecall and Libraries

Logs

Create

Deactivate and Self-destruct

Precompiled Contracts