EVM 虚拟机扩展介绍

优质
小牛编辑
154浏览
2023-12-01

HPB主链用的虚拟机跟ETH相同,所以在你开发HPB 合约的时候,需要先了解虚拟机的概念,虚拟机指的是,通过软件模拟的、具备完整硬件系统功能并运行在隔离环境下的完整计算机系统;比如虚拟化物理机VMware、Java虚拟机等。而以太坊虚拟机(Ethereum Virtual Machine,EVM)则是建立在以太坊区块链上的代码运行环境,其主要作用是处理以太坊系统内的智能合约。

简单来说,以太坊虚拟机是一个完全独立的沙盒,合约代码可对外完全隔离并在EVM内部运行。由于EVM分散储存在每个节点的计算机上,所以希望创建智能合约的公司可使用类似JavaScript和Python等编程语言创建运行于EVM的应用程序;同时以太坊虚拟机又能与主网的其余部分隔离,运行时不影响主区块链的操作。出于这个原因,以太坊有时被形容为“世界电脑”。

为了减少资源耗费及保证系统性能,以太坊虚拟机并没有采用模拟完整计算机的模式,而是使用更为轻量级的虚拟机构架。其开发者团队表示,EVM设计的目标是构建具有简单性、确定性、容易优化、节省空间、确保安全等属性且专用于区块链的系统。此外,2017年召开的Devcon3会议上,以太坊开发者还推出了基于以太坊电子分布式代码合约的高级程序语言Solidity,希望借此进一步扩大该技术的应用范围。

理论上以太坊是图灵完备的,其虚拟机为智能合约的实现提供了基础,可实现任何复杂程度的操作。不过它同时也存在着缺陷。

如果你想了解更多,请阅读以下文章:EVM Tutorials-Awesome-List)。

下面这篇文章从另外一个角度介绍了如何理解EVM,它和Soldity的关系,并且指导你如何使用Debug工具。