【问题标题】:How to get event logs from either eth_call or debug_traceCall in Geth?如何从 Geth 中的 eth_call 或 debug_traceCall 获取事件日志?
【发布时间】:2021-08-08 00:35:35
【问题描述】:

我很好奇这里是否有人可以阐明这个问题。我一直在使用 ganache-core 来试运行交易。不幸的是,它对我的​​使用来说太慢了。 Geth 的 eth_call 比较快,但是它没有返回我需要的事件日志。

我玩过 debug_Tracecall,但它似乎有点矫枉过正,速度相对较慢(虽然比 Ganache 快),而且我似乎无法弄清楚如何从返回的值中提取事件日志,即使假设它们在那里.

有谁知道如何从 eth_call 获取事件日志,或者至少知道如何从 eth_Tracecall 的返回值中获取它们?

【问题讨论】:

    标签: ethereum go-ethereum


    【解决方案1】:

    eth_call 不产生交易。另一方面,event 日志作为交易的结果被发送并存储到区块链中。

    所以你要问的,设计上根本不可能。


    但是假设被调用的合约函数被定义为发出事件,你可以执行一个事务(而不是调用),它会发出事件。

    然后您将能够使用eth_getTransactionReceipt 方法在logs 数组下获取事件日志。

    【讨论】:

      猜你喜欢
      • 2022-04-30
      • 2016-03-19
      • 2019-08-07
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 2016-12-26
      相关资源
      最近更新 更多