====== Ethereum Virtual Machine (EVM) Bytecode ====== [[dido:public:ra:xapend:xapend.a_glossary:start| Return to Glossary ]] **[[dido:public:ra:xapend:xapend.a_glossary:e:evm]] Bytecode** is a low-level programming language that is compiled from a high-level programming language such as solidity. EVM is a [[dido:public:ra:xapend:xapend.a_glossary:v:vm]] residing between the OSI [[dido:public:ra:xapend:xapend.a_glossary:o:os]] and [[dido:public:ra:xapend:xapend.a_glossary:a:applayer]] layers to mitigate OS dependency. Thankfully to EVM, Ethereum smart contract can be run on almost any computer. If you are a [[dido:public:ra:xapend:xapend.a_glossary:j:java]] developer, you can think of [[dido:public:ra:xapend:xapend.a_glossary:j:jvm]] as the same mechanism. EVM [[dido:public:ra:xapend:xapend.a_glossary:b:bytecode]] looks like the code below. It is not human-readable but readable for the machine. 6080604052348015600f57600080fd5b5060878061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063037a417c14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000600190509056fea265627a7a7230582050d33093e20eb388eec760ca84ba30ec42dadbdeb8edf5cd8b261e89b8d4279264736f6c634300050a0032 Source: [[https://medium.com/@eiki1212/explaining-ethereum-contract-abi-evm-bytecode-6afa6e917c3b ]] /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~