javascript - 如何使用 web3-react 将 WalletConnect 集成到您的 Dapp 中?

标签 javascript reactjs ethereum web3

我一直在尝试整合WalletConnect通过关注 documentationweb3-react .
我用于连接器的配置如下:

import { WalletConnectConnector } from '@web3-react/walletconnect-connector';

export const walletconnect = new WalletConnectConnector({
  rpc: { 1: RPC_URLS[1], 4: RPC_URLS[4] },
  infuraId: INFURA_TOKEN,
  bridge: BRIDGE_URL,
  qrcode: true,
  pollingInterval: 15000,
});
另外,包的版本如下:
"@web3-react/core": "^6.0.9",
"@web3-react/walletconnect-connector": "^6.2.0",
当我使用 activate函数来自 useWeb3React()如以下代码所述:
const { connector, activate, active, account } = useWeb3React();
activate(walletconnect, undefined, true)
    .catch((error) => {
        if (error instanceof UnsupportedChainIdError) {
            activate(walletconnect)
        } else {
            console.log('Pending Error Occured')
        }
    })
它能够生成二维码,我也能够通过手机上的 MetaMask 应用程序成功扫描,并且在显示成功连接的移动应用程序上。
但是,在 Web App 的控制台日志中,它会显示一条警告信息
Warning: Suppressed stale connector activation [object Object]
因此,它无法接收 account 内的地址多变的。
重要提示:我正在使用与 InjectedConnector 类似的代码它正在工作非常适合 MetaMask .
虽然上述问题也出现在其他钱包中。
这些是我面临问题的钱包:
  • WalletConnect
  • WalletLink (Coinbase Wallet)
  • Portis

  • 任何建议都会对我有很大帮助。

    最佳答案

    我在开发 tagprotocol.com 时也遇到了同样的问题,但是我通过两种方式解决了它:

  • 在后续行中多次调用激活函数(我知道听起来很奇怪)
  • 设置调用激活函数的延迟,像这样
    setTimeout(() => 激活(...), 500)

  • 我不确定你的代码结构,所以我不知道这有什么帮助。但是过时的连接器对象问题是我使用上述两种方法解决的问题。在评论中让我知道。

    关于javascript - 如何使用 web3-react 将 WalletConnect 集成到您的 Dapp 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67598109/

    相关文章:

    javascript - 无法导入前端代码

    python - 使用Python从以太坊区 block 链中提取信息

    ethereum - 如何在 Web 服务器上与公共(public)以太坊区 block 链通信?

    javascript - 如何通过单击 div 中包含的 anchor 标记来获取跨度数据?

    javascript - 获取从日期选择器中选择的输入的 React 状态

    javascript - SQL 查询的结果未传递给 Node Js Promise 中的 resolve()

    javascript - setInterval 与 React 中的 setState

    javascript - 将任意种子转换为 0 到 1 之间的 float

    reactjs - 模板文字 - 从 API 获取错误

    javascript - CryptoCurrency NODE.js Web3 Ethereum - 无法连接到 TESTRPC