首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用“安全帽”和“以太”来监控可靠智能合同上的事件?

如何使用“安全帽”和“以太”来监控可靠智能合同上的事件?
EN

Ethereum用户
提问于 2022-12-06 14:00:12
回答 2查看 154关注 0票数 0

我想监控事件发生在链上的一个具体的智能合同。我想知道每次Transfer事件发生的时候。我试图用硬帽子编写代码,但如果被记录,则不会发生事件。这是我的代码:

代码语言:javascript
复制
  const abi = [
    "event Transfer(address indexed from, address indexed to, uint256 indexed id)"
  ]

  const MyContract = await new hre.ethers.Contract(
    "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
    abi,
    hre.ethers.provider
  )

  MyContract.on("Transfer", (from, to, id) => {
    console.log("Transfered:", from, to, id)
  })
  console.log("monitoring...")

我知道区块链中发生了一些事件,但我的代码并没有跟踪它们。我做错了什么?

EN

回答 2

Ethereum用户

发布于 2022-12-06 14:17:51

代码语言:javascript
复制
filter = {
    address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
    topics: [
        utils.id("Transfer(address,address,uint256)")
    ]
}
provider.on(filter, (log, event) => {
    // Emitted whenever a token transfer occurs
})

尝试像这样更新函数,只要提供者发出这样的事件,您就能够监视传输事件。

票数 0
EN

Ethereum用户

发布于 2022-12-06 14:34:19

炼金术有一些很好的监控工具,所有这些工具都为有限的测试目的提供了一个免费帐户。

例如,如果您想简单地监视事务,它们的SDK允许一个eth_getTransactions调用,例如,您可以在其中指定一个to地址。

网上有很多教程,取决于你想要达到的目标。

如果你在某一时刻脱困,贴上你的问题并给我贴上标签--我会尽我所能帮你:

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/140704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档