以太坊虚拟机原理简析
以太坊虚拟机(EVM)是以太坊区块链中的重要概念,也是其智能合约实现的重要组成模块。学习EVM有助于开发者加深对智能合约实现的理解,也有助于开发者学习使用汇编语言(Assembly)来对智能合约进行更精细和更复杂的操作,甚至实现Solidity语言原本无法实现的功能。本篇文章将简要概述用Solidity编写的智能合约如何被编译成字节码以及EVM如何对字节码进行执行和运算。
以太坊虚拟机(EVM)是智能合约的执行时环境,它是完全孤立的沙盒:运行在EVM中的代码无法访问网络、文件系统或其他进程。
创建智能合约
智能合约通常使用高级语言Solidity来进行编写,其代码风格类似JavaScript与C++。
/**
* Constructor function
*
* Initializes contract with initial supply and designate ownership
*/
constructor() public {
owner = msg.sneder;
balanceOf[<

本文简述了以太坊虚拟机(EVM)的工作原理,它是智能合约执行的沙盒环境。通过 Solidity 编写的智能合约被编译为字节码,在EVM中由操作码执行。EVM基于栈,定义了约140个操作码,包括栈操作、算术运算、环境和内存操作等。字节码是EVM执行的标记,例如0x60用于推送数据到栈。文章还举例说明了字节码如何在EVM中执行加法操作。
最低0.47元/天 解锁文章
8756

被折叠的 条评论
为什么被折叠?



