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

移动端Web3Modal连接Wallet Connect失败问题求助(Cronos链)

移动端钱包连接问题排查与修复方案

针对你基于Cronos链开发的网页游戏在移动端无法连接钱包的问题,结合提供的Web3Modal配置代码,以下是具体排查点和修复建议:

1. 补全WalletConnect移动端适配配置

你的WalletConnect配置缺少部分移动端关键参数,建议调整如下:

walletconnect: {
  package: WalletConnectProvider,
  options: {
    chainId: config.configVars.mainnet.chainId,
    rpc: {
      [config.configVars.mainnet.chainId]: config.configVars.mainnet.rpcUrl,
    },
    // 添加稳定的bridge地址,解决移动端连接链路不通问题
    bridge: "https://bridge.walletconnect.org",
    // 启用断开逻辑适配,兼容移动端钱包的断开行为
    shimDisconnect: true,
    metadata: {
      icons: ["https://ebisusbay.com/vector%20-%20face.svg"],
    },
    // 移除network字段,部分移动端钱包对该字段解析存在异常,chainId与rpc已足够标识链信息
    // network: "cronos",
  }
}

2. 优化注入式钱包的移动端兼容

移动端浏览器的注入式钱包(如MetaMask移动端App)与PC端存在差异,调整injected配置:

injected: {
  display: {
    logo: "https://github.com/MetaMask/brand-resources/raw/master/SVG/metamask-fox.svg",
    name: "MetaMask",
    description: "Connect with MetaMask in your browser or app",
  },
  package: null,
  // 添加移动端适配选项,处理钱包断开逻辑
  options: {
    shimDisconnect: true,
  },
},

3. 强制添加错误捕获逻辑

移动端无报错提示是因为缺少连接过程的错误捕获,在调用连接方法时必须包裹try/catch:

async function connectWallet() {
  try {
    const provider = await web3Modal.connect();
    // 后续的provider初始化、链校验逻辑
    console.log("连接成功:", provider);
  } catch (error) {
    // 打印错误到控制台,同时给用户直观提示
    console.error("钱包连接失败:", error);
    alert(`连接失败:${error.message || "未知错误"}`);
  }
}

4. 确认运行环境合规性

  • 移动端浏览器仅支持HTTPS协议的网站,本地测试需用ngrok等工具生成HTTPS代理地址,否则钱包会直接拒绝连接请求。
  • 确保移动端钱包(如MetaMask)已提前添加Cronos主网配置,避免链不匹配导致连接失败。

5. 检查依赖版本兼容性

确认web3modal和@walletconnect/web3-provider为最新稳定版本,旧版本可能存在移动端适配bug:

npm update web3modal @walletconnect/web3-provider

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 10:37:15