http://www.ncstyz.com

tp官网|以太坊虚拟机 (EVM) – 综合指南

你可能到处都听说过以太坊虚拟机(EVM)这个术语。 事实上,除了以太坊之外,还有更多的项目使用它,尽管它本身是为以太坊构建的。

Avalanche、Polygon、币安智能链、Fantom 和大量其他链都使用这种高度专业化的区块链技术。

在本文中,我们将解释 EVM 是什么、它是如何工作的以及为什么这么多区块链正在使用它。

阅读:什么是以太坊? – 简单指南

推荐阅读 1

如何解决《真人快打 1 入侵》中的 Klue 问题

3小时前 2

分析师指出,一旦 XRP 突破 6 年对称三角形,重大反弹的时间表

3小时前

什么是以太坊虚拟机(EVM)?

要完全理解 EVM,我们必须了解什么是虚拟机。

什么是虚拟机2什么是虚拟机2图片提供:Middleware.io

从技术上讲,EVM 是一台云计算机,由所有参与其中的节点运行。 这意味着它不是某个地方的一台计算机,而是世界各地数千台计算机的上涨。

事实上,这些计算机是由像你我这样的人制造和操作的; 以太坊网络上的每台计算机都运行一个软件,该软件基本上只是计算智能合约交易的输出。

这个理论上的云计算机有许多与真实计算机相似的部分,例如内存存储和专门用于计算数字的部分。 但它与真正的计算机不同,因为它不需要显示器、键盘或鼠标等输入和输出设备; 但它确实需要一些独特的部分,例如能够理解和阅读智能合约代码的部分

简而言之,EVM 基本上只是一台专门处理智能合约交易的计算机。

阅读:发现推动以太坊持续增长的 5 种力量

智能合约代码

EVM 处理的是开发人员编写的智能合约代码。 开发人员可以使用几种不同的 EVM 语言进行编写,但最常见的一种是 Solidity。

坚固性内迪尔坚固性内迪尔图片提供:DEV 社区

Solidity 是一种编程语言,允许开发人员编写他们可以理解的代码,并预测代码将如何工作。

代码可以以我们意想不到的方式工作,并且 Solidity 不是 EVM 读取和处理的代码。 EVM 读取一种称为“字节码”的东西,它基本上是由 1 和 0 组成的二进制文件。

捕获3311捕获3311图片提供:GeeksforGeeks

当开发人员编写智能合约时,他们必须对其进行编译——这个术语的意思是他们将 Solidity 语言代码转换为二进制文件,以便 EVM 能够理解并读取它。

这主要是因为程序员并不擅长读取一堆 1 和 0,因此开发人员想出了 Solidity,以便他们能够更有效地读取和编写代码。

操作码

3OzwS3OzwS图片提供:Ethereum.org

在 Solidity 和字节码之间,有一种中间理论语言,称为“操作码”。

操作码实际上是一种语言,显示 EVM 执行智能合约交易所需的操作代码或指令。

不过,这些代码中的每一个在 EVM 上运行都需要花费一定数量的资金,如果你将单个智能合约中的所有操作码相加,并将每个操作码乘以每个操作码的成本,你就可以得到 Gas 费总额部署或使用智能合约所需的时间。

智能合约越复杂,使用它的成本就越高,这是因为你让 EVM 做了更多的工作。

阅读:Polygon ZkEVM 在 ZK 季节升温之际在以太坊上推出

EVM 处理交易

以太坊架构 以太坊教程 Edureka以太坊架构 以太坊教程 Edureka图片提供:Edureka

EVM 按顺序一个接一个地处理交易 – 这意味着它不会同时执行一大堆事情,如果某个流程不起作用,例如你尝试向某人发送 1 ETH,但实际上你只有不到那么该事务将被跳过。

每次 EVM 运行交易时,我们说 EVM 的“状态”都会更新,因为它实际上只是信息数据的集合。

EVM 处理的每个事务都会简单地更改 EVM 上的数据。 我们将这种数据集合称为“状态”——如果 EVM 中的某件事发生变化,那么我们就说 EVM 的“状态”发生了变化。

每个事务都会更改块的状态,如果你愿意,你可以复制该块并将其回滚到你想要的过去的任何状态。简而言之,这意味着每次 EVM 更改或处理交易时,总会有一个完整的记录,记录交易前后 EVM 的内容; 这个交易列表就是我们所说的“区块链”。

最后的想法

由于 EVM 的这些功能,它的使用不仅限于创建它的以太坊链,还包括其他链生态系统,如 Polygon、Avalanche、币安智能链 和 Fantom。

区块链生态系统不断取得进步,EVM 仍然是跨兼容链转移项目和 DApp 的基础。

常见问题 (FAQ)

问:什么是以太坊虚拟机?

EVM 只是在世界各地运行以太坊网络以处理智能合约交易的计算机的集合。

问:EVM 如何处理智能合约代码?

开发人员和/或程序员使用 Solidity 等智能合约编程语言进行编码。 人类可读的代码通过编译器进行编译,转换为 EVM 可以理解的 1 和 0。

问:EVM 中的操作码是什么?

操作码只是指导 EVM 执行智能合约交易的指令列表。 有一百多个不同的操作码,每个操作码在执行时都会产生特定的成本。

埃托罗阿德'埃托罗阿德'

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。