> For the complete documentation index, see [llms.txt](https://may-block.gitbook.io/ethereum-virtual-machine-evm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://may-block.gitbook.io/ethereum-virtual-machine-evm/ethereum-virtual-machine-evm-explained..md).

# Ethereum Virtual machine (EVM) Explained.

#### EVM Explained

The EVM stands for the Ethereum virtual machine. It is relatable with the hardware central processing unit of a piece of a computer. The EVM was primarily designed to deploy smart contracts & run them on the Ethereum network.

Ethereum virtual machine is functionally a software that grants developers the ability to develop & develop smart contracts and DApps using the Solidity programming language. For instance, a smart contract written on Solidity is compiled into bytecodes for the EVM to execute on the Ethereum Network. However, there are other several other networks that utilize the EVM to run smart contracts on their network.

Unlike the first cryptocurrency, Bitcoin, a distributed ledger, Ethereum is a distributed quasi–Turing-complete[ state machine](https://wikipedia.org/wiki/Finite-state_machine) with a large data storage structure. That is, the EVM takes account of several metadata functionalities such as Actions, Balance, Block, Block hash, Code, code hash, Gas limit, etc. It has a stack-based architecture with a word size of 256 bits.

![EVM architecture](https://github.com/mayowaolatunji/Blockchainverse/blob/main/evm-architecture.png)

[Cyberpunks](https://cypherpunks-core.github.io/ethereumbook/13evm.html)
