似乎当一个函数被调用时,Ethereum虚拟机:

主要来源:evm‘s py-evm,即https://github.com/ethereum/py-evm/blob/0ff7bc0f820250d7f15e804bc09870776ea34eb5/eth/vm/logic/call.py
我在这里错过了什么?
当我在Remix上看到堆栈时,EVM似乎是“第一次”将函数所需的内容加载到函数的堆栈+内存中,这是正确的吗?这是否被称为函数的调用堆栈/调用帧?
似乎许多开发人员,包括我自己,都不清楚这“在幕后”的顺序。谢谢。
发布于 2018-09-09 22:49:37
EVM实现在如何完成任务方面会有差异,但是如果它们符合黄纸,那么它们都应该产生相同的结果。我看了一下EthereumJS - runCode.js的VM代码,我在下面概述了这些代码。您还可以使用这些资源来了解如何实现VM:
下面是我对EthereumJS的核心VM代码流的理解,这是一种可以对Ethereum进行编码的方法。您正在查看的python代码可能有相似之处。
https://ethereum.stackexchange.com/questions/57654
复制相似问题