各位好,我在调试EVM虚拟机的时候,我输出了所有执行的OpCode。我只发送了一笔交易去调用一个函数,但是实验发现,这个函数对应的OpCode片段被执行了17次,也就是说这个函数的函数体在EVM中被执行了17次,这令我非常费解。
通过对OpCode解构,我非常确信整个函数体对应的所有OpCode被完整的执行了17次,这与我们编写代码中的定义的循环无关,是其函数完整生命周期被执行了17次。
不知道这是否与共识或者EVM其他特性有关,希望可以得到各位的答疑。
测试环境:使用geth搭建的单节点