The Ethereum Virtual Machine

In the Java world, developers write Java code in any Java IDE and compile it into bytecodes, which in turn are loaded into a virtual machine called the Java Virtual Machine, or JVM, behind the scenes through a Java class loader, and executed in the JVM. The JVM specification describes what is required of a JVM implementation and ensures the interoperability of Java programs across different implementations and underlying hardware platforms.

Similarly, in Ethereum, smart contracts and DApp developers code smart contracts in an Ethereum high-level language such as Solidity, compile them into bytecodes, and upload them on blockchain for invocation and execution. The EVM is the runtime execution environment for smart ...

Get Learn Ethereum now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.