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

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.

主站蜘蛛池模板: 怀来县| 福鼎市| 息烽县| 武城县| 衡阳市| 郯城县| 泰兴市| 特克斯县| 巨鹿县| 昌黎县| 汾阳市| 南木林县| 莱芜市| 讷河市| 冀州市| 类乌齐县| 柳河县| 青龙| 喜德县| 常州市| 咸阳市| 麻江县| 肇庆市| 綦江县| 万荣县| 新邵县| 大理市| 孝义市| 乌兰察布市| 石屏县| 航空| 文成县| 临沭县| 德庆县| 枣阳市| 荥经县| 珠海市| 巧家县| 崇信县| 洛南县| 丰原市|