【问题标题】:How to listen to a *unnamed* Event?如何收听*未命名*事件?
【发布时间】:2022-08-16 00:05:34
【问题描述】:

我正在尝试收听此事件,但它没有实际名称。有没有办法监听事件 0x0511a506 ?

  • 这不是一个事件,它是一个函数调用。从数据结构来看,它的参数是2个地址和3个数字。

标签: node.js ethereum ethers.js


【解决方案1】:

您可以使用通用的 subscribe("logs") 处理程序 (docs) 并按合约地址和事件签名 (topics[0]) 进行过滤。

请注意,您的问题中提到的 0x0511a506 是在事件发出时调用的父函数的选择器,但您确实在寻找事件签名 - 在您的情况下为 0x598cd562...。

web3.eth.subscribe("logs", {
    address: "contractAddress",
    topics: [
        "0x598cd562..."
    ]
}, (err, data) => {
    console.log(data);
});

【讨论】:

  • 好极了!!有用!!!
猜你喜欢
  • 2022-01-14
  • 2022-07-05
  • 1970-01-01
  • 1970-01-01
  • 2015-12-10
  • 2013-05-06
  • 2015-04-16
  • 1970-01-01
  • 2023-02-09
相关资源
最近更新 更多