January 2019
Beginner to intermediate
372 pages
11h 17m
English
Unlike the stack-based language used in Bitcoin, Solidity is a Turing-complete language, and thus it requires a runtime environment to execute programs. EVM provides a runtime environment to execute smart contracts in Ethereum nodes. EVM runs on a node that is isolated from the Ethereum network and other processes of the host machine. Only the output of smart contracts can be broadcast and appended to the blockchain as transactions. EVM executes Solidity scripts that are compiled to Ethereum bytecode. This ensures that execution is independent of the platform so that each node on the network executes and produces the same output. EVM has been implemented in several different languages, including Go, JavaScript, and Python.