You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何订阅任意ERC721或ERC1155合约的所有以太坊日志事件

ERC721/ERC1155日志定向筛选方案

核心逻辑是利用两类NFT标准强制实现的固定事件签名哈希,在RPC日志请求阶段就完成过滤,无需拉取全量日志后再解码筛选:

  • 先确认目标事件的固定签名哈希(所有合规ERC721/1155合约的标准事件哈希完全一致)
    • ERC721核心转移事件Transfer(address,address,uint256)的Keccak256哈希为:0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
    • ERC1155单币转移事件TransferSingle(address,address,address,uint256,uint256)的哈希为:0xc3d58168c5ae7397731d3482ef5d6d435d92901a7f6260f6ca17d32c1d31d34a
    • ERC1155批量转移事件TransferBatch(address,address,address,uint256[],uint256[])的哈希为:0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb
  • 调整eth_getLogs请求参数,除了你原本配置的address字段过滤合约地址外,新增topics参数指定要匹配的事件哈希即可,RPC会直接返回topic0符合任意一个目标哈希的日志:
    {
      "jsonrpc": "2.0",
      "method": "eth_getLogs",
      "params": [
        {
          "fromBlock": "latest",
          "address": ["你的目标合约地址列表"],
          "topics": [
            [
              "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
              "0xc3d58168c5ae7397731d3482ef5d6d435d92901a7f6260f6ca17d32c1d31d34a",
              "0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb"
            ]
          ]
        }
      ],
      "id": 1
    }
    
  • 补充说明:该方案仅对符合官方ERC标准的合规合约生效,自定义修改了事件结构的非标准合约无法匹配;如果需要筛选授权等其他标准事件,按相同规则计算对应事件的哈希加入topics数组即可。

内容的提问来源于stack exchange,提问作者pguardiario

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:27:01