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

如何配置WalletConnect使其仅连接币安智能链BSC

WalletConnect 仅支持BSC网络配置方案

1.x版本的@walletconnect/web3-provider默认将初始连接链设置为以太坊主网(链ID 1),仅配置rpc字段的链ID与节点映射不会自动修改默认连接链,这是Trust钱包连接时显示以太坊主网的核心原因。

修正后的完整配置

1. 初始化Provider时补全链约束参数

核心是显式指定默认链ID,同时声明支持的链范围,代码如下:

function getProvider() {
  const provider = new WalletConnectProvider.default({
    rpc: {
      56: "https://bsc-dataseed.binance.org",
      // 可配置多个备用BSC RPC节点避免单节点故障
    },
    chainId: 56, // 核心配置:显式指定默认连接链为BSC
    network: "binance", // 明确指定网络标识,避免钱包识别偏差
    supportedChainIds: [56], // 声明仅支持BSC链,从协议层限制可选链
    bridge: "https://bridge.walletconnect.org" // 手动指定v1桥接地址,避免默认桥接解析异常
  });
  return provider;
}

2. 增加连接后的链校验与切换逻辑

部分老版本钱包可能不会自动读取配置的默认链,需要在连接成功后主动校验链ID,非BSC时触发钱包切换/添加网络逻辑:

async function initConnect() {
  const provider = getProvider();
  try {
    // 触发钱包连接
    await provider.enable();
    // 查询当前钱包选中的链ID
    const currentChainHex = await provider.request({ method: "eth_chainId" });
    const currentChainId = parseInt(currentChainHex, 16);
    
    if (currentChainId !== 56) {
      try {
        // 请求钱包切换到BSC
        await provider.request({
          method: "wallet_switchEthereumChain",
          params: [{ chainId: "0x38" }] // BSC主网链ID十六进制值
        });
      } catch (switchErr) {
        // 错误码4902代表钱包未添加BSC网络,触发添加网络逻辑
        if (switchErr.code === 4902) {
          await provider.request({
            method: "wallet_addEthereumChain",
            params: [{
              chainId: "0x38",
              chainName: "BNB Smart Chain Mainnet",
              nativeCurrency: { name: "BNB", symbol: "BNB", decimals: 18 },
              rpcUrls: ["https://bsc-dataseed.binance.org"],
              blockExplorerUrls: ["https://bscscan.com"]
            }]
          });
        }
        throw switchErr;
      }
    }
    // 后续业务逻辑(签名、合约调用等)写在这里
  } catch (err) {
    console.error("钱包连接失败:", err);
  }
}

补充说明:WalletConnect v1版本官方已停止运维,若后续出现桥接失败、连接超时等无解决方案的问题,建议升级到WalletConnect v2版本,v2版本对多链的约束逻辑更严谨,不会出现默认 fallback 到以太坊的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 19:18:48