【墨夜拎月·web3.0·以太坊】以太坊(Ethereum) 虚拟机 EVM

148 阅读1分钟

以太坊虚拟机(简写为 EVM)是执行智能合约代码的引擎。

以太坊虚拟机是一个完全隔绝外界通讯的沙盒。在以太坊中运行的智能合约不允许访问外部网络、外部文件系统,智能合约之间的访问也是受限制的。

可以用某种语言,例如Solidity语言,开发智能合约程序,编译成以太坊虚拟机支持的字节码/bytecode,然后该程序就可以在虚拟机中执行了。

以太坊虚拟机可以被看做是一个大型的分布式计算机。

以太坊以虚拟机为核心,支持开发各种应用程序,来充分挖掘区块链技术的应用场景和潜力。

以太坊网络中运行的应用,被称为分布式应用 – DApp。

 

1. EVM 的作用是什么

EVM 就是执行智能合约字节码指令的地方。通过 EVM 执行智能合约来完成符合约束条件的交易,从而改变账户状态,也使得世界态发生改变。

 

2. 什么时候用到 EVM

当发起对合约账户的消息调用(交易中的一种),需要执行合约账户中存储的智能合约时,就要用到 EVM。

 

3. EVM 的结构是什么

EVM 结构如下图所示:

4. EVM 的执行流程是什么

EVM 执行模型如下图所示: