官术网_书友最值得收藏!

Ethereum virtual machine

EVM (or Ethereum virtual machine) is the Ethereum smart contracts byte-code execution environment. Every node in the network runs EVM. All the nodes execute all the transactions that point to smart contracts using EVM, so every node does the same calculations and stores the same values. Transactions that only transfer ether also require some calculation, that is, to find out whether the address has a balance or not and deduct the balance accordingly.

Every node executes the transactions and stores the final state due to various reasons. For example, if there is a smart contract that stores the names and details of everyone attending a party, whenever a new person is added, a new transaction is broadcasted to the network. For any node in the network to display details of everyone attending the party, they simply need to read the final state of the contract.

Every transaction requires some computation and storage in the network. Therefore, there needs to be a transaction cost, otherwise the whole network will be flooded with spam transactions, and also without a transaction cost, miners will have no reason to include transactions in blocks, and they will start mining empty blocks. Every transaction requires different amount of computation and storage; therefore, every transaction has different transaction costs.

There are two implementations of EVM, that is, byte-code VM and JIT-VM. At the time of writing this book, JIT-VM is available for use, but its development is still not completed. In either case, the Solidity code is compiled to byte code. In the case of JIT-VM, the byte code is further compiled. JIT-VM is more efficient than it's counterpart.

主站蜘蛛池模板: 手机| 拜城县| 永城市| 罗甸县| 蓬安县| 长兴县| 衡山县| 吉木萨尔县| 湖口县| 乐清市| 来安县| 耿马| 河南省| 静安区| 四平市| 东乡县| 土默特右旗| 正安县| 江西省| 东乌珠穆沁旗| 边坝县| 东山县| 乐陵市| 乌拉特中旗| 沂源县| 射洪县| 海宁市| 内黄县| 赤城县| 宜兴市| 大安市| 和龙市| 彰化县| 威信县| 原平市| 元朗区| 城固县| 仪陇县| 响水县| 三河市| 景东|