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

Web3Modal对接WalletConnect时Trust Wallet浏览器跳转谷歌问题咨询

问题解答

1. 正确完成WalletConnect钱包连接的方案

你遇到的跳转问题是代码逻辑和运行环境不匹配导致的,按以下步骤修改即可:

  • 优先适配钱包内置浏览器环境:Trust Wallet等加密钱包的内置浏览器会直接注入window.ethereum提供者,不需要走WalletConnect的二维码连接流程,你当前的代码触发了WalletConnect的移动端跳转逻辑才会重定向到谷歌。连接前先做环境判断:
    let provider;
    if (window.ethereum) {
      // 钱包内置环境直接用注入的provider
      provider = window.ethereum;
    } else {
      // 普通浏览器环境走Web3Modal流程
      provider = await web3Modal.connect();
    }
    
  • 删除冗余代码:你当前代码中await web3Modal.connect()已经完成了连接触发逻辑,后续的await web3Modal.toggleModal()属于重复调用,会触发异常跳转,直接删除该行即可。
  • 确保运行环境为HTTPS,所有钱包连接逻辑都不支持HTTP协议下运行。

修正后的完整参考代码:

const providerOptions = {
    walletconnect: {
        package: WalletConnectProvider,
        options: {
            rpc: {
                56: 'https://bsc-dataseed1.binance.org'
            },
            chainId: 56
        }
    }
}

const web3Modal = new Web3Modal({
    network: "mainnet",
    cacheProvider: true,
    providerOptions
});

let provider;
// 优先使用钱包注入的provider
if (window.ethereum) {
    provider = window.ethereum;
} else {
    provider = await web3Modal.connect();
}

const newWeb3 = new Web3(provider);
const accounts = await newWeb3.eth.getAccounts();
console.log(accounts);

2. WalletConnect连接测试网的说明

可以连接EVM兼容的测试网,不过Ropsten测试网已经正式弃用,建议使用当前仍在维护的Goerli、Sepolia等以太坊测试网,仅需要修改providerOptions中的rpc映射和chainId参数为对应测试网的配置即可,WalletConnect本身没有限制只能连接主网,所有EVM兼容链都可以支持。


内容的提问来源于stack exchange,提问作者Mohammad Amin Ahmadi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:27:02