【问题标题】:How many EVM in Ethereum chain?以太坊链中有多少 EVM?
【发布时间】:2022-12-04 13:59:38
【问题描述】:

我现在真的很困惑。我在做 Solidity DEV,但是今天,我试着想一个问题,以太坊链上有多少个 EVM?

我不是在开玩笑。我真的很想知道什么时候创建 EVM。我已经阅读了文档https://ethereum.org/en/developers/docs/evm/。但还是不清楚那个问题。所以,我的意思是,无论我们在链中只有一个 EVM,还是每个验证节点(RPC 节点)都有一个 EVM,或者当元掩码试图与 RPC 节点进行交易时,RPC 节点创建一个 EVM 并智能加载目标合约或每个元掩码都是一个 EVM。我现在真的很困惑。请帮助我,如果你知道肯定的答案。真的真的很感谢。

【问题讨论】:

  • 区块链中的每个node 都运行着一个Ethereum Virtual Machine 的实例,它可以通过smart contracts 处理Solidity 代码。
  • @JeremySavage 先生,谢谢您的回答。我想再次确认您回复中的nodenode 是否包含像 MetaMask 钱包这样的轻节点或像 1inch 钱包应用程序这样的其他钱包?
  • 不,钱包只是一个地址。看这里:ethereum.org/en/run-a-node
  • @JeremySavage 先生,我对此还有另一个问题。我尝试查看Geth 源代码。当我们调用 ApplyTransaction (core/state_processor.go) 时,它会创建一个新的 EVM。所以我对此感到困惑。这个EVM和你所说的节点EVM有什么区别?
  • applyTransaction 不会创建新的 EVM,它以 EVM 作为参数 - evm *vm.EVM

标签: ethereum smartcontracts metamask evm


【解决方案1】:

EVM 是智能合约运行时。每个以太坊节点都有以太坊软件,在软件内部,它运行着一台虚拟计算机。 EVM 是一个图灵完备的机器,由于它运行在不同的节点上并且你无法访问它,所以它被称为“虚拟机”。它是一种云计算机器。这台机器唯一能做的就是执行智能合约。

Metamask 只是一个钱包,一个中间人。它将您的请求传递给以太坊区块链。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-05
    • 2017-08-07
    • 2016-02-28
    • 2019-12-09
    • 2018-12-24
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    相关资源
    最近更新 更多