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

  • Building Blockchain Projects
  • Narayan Prusty
  • 276字
  • 2021-07-02 23:45:14

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.

主站蜘蛛池模板: 安达市| 绥江县| 孟州市| 屏边| 聂拉木县| 台中县| 繁峙县| 都匀市| 临邑县| 黔东| 乌兰县| 怀集县| 宜君县| 阳春市| 屯昌县| 介休市| 辉南县| 威信县| 土默特左旗| 莫力| 垣曲县| 克什克腾旗| 桂林市| 抚顺市| 南雄市| 白河县| 郑州市| 志丹县| 龙泉市| 龙泉市| 平定县| 连云港市| 南召县| 金乡县| 文水县| 栾川县| 黎城县| 平泉县| 米泉市| 永康市| 南丰县|