【问题标题】:Monitoring Polygon wallet transactions with c#使用 c# 监控 Polygon 钱包交易
【发布时间】:2022-11-05 18:41:00
【问题描述】:

我是区块链开发的新手。我有一个需求,我需要在一小时内监控一个 Eth 地址并检测任何交易,然后我会做一些逻辑。

最简单的方法是暴力破解它,就像每一分钟,获取该地址的交易并查看差异。但是对于数百个地址来说,这是一个非常糟糕的主意。

我一直在寻找一种更优雅的方式来处理这个问题。我查看了网络挂钩、订阅、网络套接字,但找不到任何包括 Polygon Mainnet 和 Mumbai 的东西。

此监控服务需要能够与数据库交互。这个想法是,在一个小时内,我们监控一个地址,我们看到一个新交易,我们向数据库发送一些东西并停止监控。有什么办法可以解决这个问题?

谢谢。

【问题讨论】:

  • 也许设置您的本地网络完整节点并检查是否有通过 rpc 订阅的选项

标签: c# blockchain ethereum polygon


【解决方案1】:

似乎解决此问题的最有效方法是在您的多边形节点上安装一个侦听器。我建议使用炼金术并使用 ethers js 来监听新块。

https://docs.ethers.io/v5/single-page/#/v5/api/providers/provider/

  • 在 ethers js 文档上,您可以在将 ethers js 提供程序与您的炼金术节点连接后监听事件。

https://docs.ethers.io/v5/single-page/#/v5/api/providers/provider/-%23-Provider--events

  • 在文档的此部分中,您可以找到事件名称,并且可以解决您的问题的事件名称将是“阻止”
provider.on("block",(blocknumber) => {
 // this function would work every time a new block is mined
});

【讨论】:

    【解决方案2】:

    我最终为此使用了 Nethereum 的 API。我设置了一个 Web3、一个 EventDTO 来模拟我试图跟踪的智能合约功能,以及一个仅用于我关注的地址的 FilterInput。我为 Matic Testnet 使用了带有公共 Web 套接字 URL 的 StreamingWebSocketClient,从那里我只使用 EthLogsObservableSubscription 跟踪日志,将事件解码到我的 EventDTO 中。

    【讨论】:

      【解决方案3】:

      你可以用 Nethereum 发布你的代码吗? 谢谢!

      【讨论】:

        猜你喜欢
        • 2022-10-20
        • 2012-05-31
        • 1970-01-01
        • 2020-12-15
        • 2016-02-12
        • 1970-01-01
        • 1970-01-01
        • 2021-10-07
        • 2022-11-10
        相关资源
        最近更新 更多