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

BSC PancakeSwap交易对合约调用返回-32602错误求助

问题:Quiknode免费BSC节点请求10块范围日志却触发10000块限制报错

问题详情

我使用Quiknode免费BSC节点,搭配Node.js Web3库加载PancakeSwap某BSC交易对的所有Sync事件,代码如下:

const blocksPerRequest = 10;
const reserves = await pairContract.getPastEvents('Sync', {
  filter: {},
  fromBlock: blockNumber - BigInt((i +1) * blocksPerRequest),
  toBlock: blockNumber - BigInt(i * blocksPerRequest),
});

变量i设为0,但返回-32602错误,提示getMultipleAccounts, eth_getLogs, and eth_newFilter are limited to a 10000 range,可我明明只请求了10块的范围,且该功能数月前可正常运行。错误详情:

innerError: {
    code: -32602,
    message: 'getMultipleAccounts, eth_getLogs, and eth_newFilter are limited to a 10000 range'
  },
  code: 101,
  data: undefined,
  request: {
    jsonrpc: '2.0',
    id: '96ec05fe-b8ad-4cfa-8abf-9eaf7fb22c69',
    method: 'eth_getLogs',
    params: [
      {
        fromBlock: '0x20793fc',
        toBlock: '0x2079406',
        topics: [
          '0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1'
        ],
        address: '0x8ff7115defd48165aa3f70153a644e8f58e71f42'
      }
    ]
  }

原因分析与解决方案

1. 节点服务商规则变更

数月前正常现在报错,核心原因是Quiknode调整了免费节点的eth_getLogs限制。虽然提示是10000块范围,但实际可能是免费节点新增了单请求日志条目数量上限,或是对小范围请求的误判,也可能是他们悄悄收紧了免费节点的权限。

2. 可行解决办法

  • 进一步缩小请求区块范围:把blocksPerRequest改成5甚至1,避免单请求返回过多日志触发限制。有些节点服务商的限制不是看区块数,而是日志条目数,哪怕1个区块内日志量过大也会报错。
  • 格式化区块号参数:Web3.js对BigInt的处理偶尔会有异常,把计算后的区块号转成字符串再传入试试:
const blocksPerRequest = 10;
const fromBlock = (blockNumber - BigInt((i + 1) * blocksPerRequest)).toString();
const toBlock = (blockNumber - BigInt(i * blocksPerRequest)).toString();

const reserves = await pairContract.getPastEvents('Sync', {
  filter: {},
  fromBlock,
  toBlock,
});
  • 更换免费节点:试试BSC官方公共节点等其他免费BSC节点,不同服务商的限制规则不同。
  • 升级付费节点:如果需要稳定的日志查询服务,Quiknode付费节点的限制会宽松很多,适合高频或大量日志请求场景。

另外,手动计算请求中的区块范围:0x2079406 - 0x20793fc = 10,确实是10个区块,所以你的范围计算没有问题,问题出在节点服务商的限制变更上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:33:29