Ethereum virtual machine (EVM) operates as a
stack machine with a depth of 1024 items (256-bit
hashes). Any implementation of the EVM (Py-EVM,
evmone,
EthereumJS, etc) most follow the instructions
in the Etherum Yellow paper. Smart contracts
are executed by compiling to opcodes which
translates to standard operations such as XOR, AND, ADD, SUB, etc together with blockchain
specific operations such as ADRESS, BALANCE, BLOCKHASH, etc. There are several languages
that compile to Ethereum opcodes. Vyper (Python like) and Solidity (JavaScript like) are the most
common. There are also Yul and Yul+ which are languages closer to the EVM. Solidity is the most
widely used language from smart contract development. Solidity has similar syntax to JavaScript:
Object-oriented, curly-brackets and statically typed.
How to get started with smart contract development in Solidity? Many recommend tutorials such as CryptoZombies where you learn Solidity by making a blockchain game.