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

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.

主站蜘蛛池模板: 陇川县| 富民县| 大理市| 杭州市| 岢岚县| 广安市| 阳朔县| 莒南县| 十堰市| 延吉市| 科尔| 祁门县| 沙田区| 长兴县| 两当县| 孝义市| 江门市| 安康市| 江阴市| 夹江县| 乐都县| 高碑店市| 丹江口市| 阿鲁科尔沁旗| 赤城县| 嘉荫县| 益阳市| 西吉县| 保山市| 玛沁县| 大城县| 福海县| 民勤县| 泾阳县| 云南省| 新绛县| 灌南县| 启东市| 琼中| 宽城| 葫芦岛市|