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

使用web3.js获取Dogechain上TokenLockerCreated事件返回空数组求助

解决web3.js获取Dogechain TokenLockerManagerV1合约事件为空的问题

下面是针对你遇到的返回空数组问题的排查和解决步骤:

  • 检查合约地址是否正确
    你的代码中使用了pairAddr变量,但目标合约是TokenLockerManagerV1,其地址为0x016c1D8cf86f60A5382BA5c42D4be960CBd1b868,请将pairAddr替换为该地址再尝试。

  • 确认ABI匹配性
    确保LPAbi是TokenLockerManagerV1合约的完整ABI,而非其他合约(比如LP配对合约)的ABI。你可以从合约的浏览器页面导出完整ABI,替换当前使用的LPAbi。

  • 调整区块查询范围
    部分RPC节点会限制从区块0开始的全量历史查询,导致返回空结果。建议缩小查询范围:

    • 先查询合约部署后的区块高度(可从浏览器合约页面获取创建区块号),将fromBlock设为该值
    • 或者临时测试最近的区块,比如:
      {
        fromBlock: 'latest' - 1000,
        toBlock: 'latest'
      }
      
  • 验证事件名称与签名
    事件名称是大小写敏感的,检查ABI中定义的事件名是否与TokenLockerCreated完全一致。也可以通过事件签名直接过滤,确保参数类型与合约定义匹配:

    contract.getPastEvents('allEvents', {
      fromBlock: ...,
      toBlock: ...,
      topics: [web3.utils.sha3('TokenLockerCreated(uint256,address,address,address,address,uint256,uint256)')]
    })
    
  • 确认合约是否触发过目标事件
    先在Dogechain浏览器的合约页面查看「Events」标签,确认是否存在TokenLockerCreated事件的历史记录。如果浏览器中也没有相关记录,说明合约尚未触发过该事件,自然无法查询到结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 13:40:54