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

WalletConnect设置infuraId为undefined时报错的无Infura账号解决方案

问题原因

你遇到的报错是WalletConnectProvider的默认逻辑导致的:哪怕你传入了自定义RPC配置,只要没有显式关闭默认节点 fallback 逻辑,它会优先尝试调用Infura的公共节点做初始化校验,你传了infuraId: undefined就会触发该报错。功能正常运行是因为请求Infura失败后,provider最终 fallback 到了你传入的自定义BSC RPC节点。

无需注册Infura的解决方案

你完全不需要注册Infura账号,只需要调整初始化配置即可消除报错:

  • 把infuraId设为null而非undefined,显式声明不使用Infura服务
  • 新增disableProviderFallbacks: true配置,禁止provider自动 fallback 到默认的第三方节点服务,强制仅使用你传入的RPC节点

修改后的代码如下:

const chainId = ContractService.getPreferredChainId();
const rpc = ContractService.getRpcAddress();
provider = new WalletConnectProvider({
  infuraId: null,
  rpc: {
    [chainId]: rpc,
  },
  disableProviderFallbacks: true
});
await provider.enable();

如果调整配置后仍有报错,可检查你动态获取的RPC地址是否正确,以及是否覆盖了所有你可能用到的链ID(比如开发环境的97、生产环境的56),确保所有用到的链都有对应的有效RPC配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:15:05