繁体   English   中英

使用 ethers.js 和本地节点 (Ganache-cli) 过滤任何事件

[英]Filter any Event using ethers.js and local node (Ganache-cli)

任何人都可以帮助我吗? 我正在使用带有 fork bsc mai.net 的 ganache-cli。 当我使用 queryFilter 时,javascript 向我显示此错误:“Number can only safely store up to 53 bits”

在 bsc mai.net 中它完美地工作

我该如何解决这个问题?

这是代码:

const {JsonRpcProvider} = require("@ethersproject/providers")
const ethers = require('ethers')

var provider = new ethers.providers.JsonRpcProvider("http://localhost:xxxx")
var abi = [
    "event Swap(address indexed sender,uint amount0In,uint amount1In,uint amount0Out,uint amount1Out,address indexed to)"
    ]

  contract = new ethers.Contract("0xd99c7F6C65857AC913a8f880A4cb84032AB2FC5b", abi, provider)
  provider.getBlockNumber().then(function(x) {
    contract.queryFilter([contract.filters.Swap()], x-48, x).then(function(el) {
      console.log(el)
    })
  })

猜猜这个解决方法应该可以解决问题:

https://github.com/ChainSafe/web3.js/pull/3948#issuecomment-821779691

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM