User Tools

Site Tools


dido:public:ra:xapend:xapend.a_glossary:e:evm_bytecode

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dido:public:ra:xapend:xapend.a_glossary:e:evm_bytecode [2022/05/26 23:16]
nick created
dido:public:ra:xapend:xapend.a_glossary:e:evm_bytecode [2022/06/01 12:54] (current)
nick
Line 1: Line 1:
-====== ​Evm_bytecode ​======+====== ​Ethereum Virtual Machine (EVM) Bytecode ​======
 [[dido:​public:​ra:​xapend:​xapend.a_glossary:​start| Return to Glossary ]] [[dido:​public:​ra:​xapend:​xapend.a_glossary:​start| Return to Glossary ]]
  
-**Evm_bytecode** is ...+**[[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 solidityEVM 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. 
 <Code solidity linenums:1| Example of a EVM ByteCode>​ <Code solidity linenums:1| Example of a EVM ByteCode>​
-00000d8b PUSH1   #2 {var_el_25} {var_co_53}  +6080604052348015600f57600080fd5b5060878061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063037a417c14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000600190509056fea265627a7a7230582050d33093e20eb388eec760ca84ba30ec42dadbdeb8edf5cd8b261e89b8d4279264736f6c634300050a0032
-00000d8d EXP        {var_co_53}  +
-00000d8e SUB        {var_c0_53} ​ {var_a0_34} +
-00000d8f DUP4       ​{var_40_4} {var_co_54}  +
-00000d90 AND        {var_a0_35} {var_a@_34} {var_co_54} +
-00000d91 PUSH1   #0 {var_co_55} +
-00000d93 SWAP1      {var_a@_35} {var_a0_36} {var_co_56}  +
-00000d94 DUP2       ​{var_e0_26}+
 </​Code>​ </​Code>​
  
-Source: [[URI ]]+Source: [[https://​medium.com/​@eiki1212/​explaining-ethereum-contract-abi-evm-bytecode-6afa6e917c3b ​]]
  
  
dido/public/ra/xapend/xapend.a_glossary/e/evm_bytecode.1653621371.txt.gz · Last modified: 2022/05/26 23:16 by nick