我一直在尝试整合WalletConnect通过关注 documentation的 web3-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 .虽然上述问题也出现在其他钱包中。
这些是我面临问题的钱包:
任何建议都会对我有很大帮助。
最佳答案
我在开发 tagprotocol.com 时也遇到了同样的问题,但是我通过两种方式解决了它:
setTimeout(() => 激活(...), 500)
我不确定你的代码结构,所以我不知道这有什么帮助。但是过时的连接器对象问题是我使用上述两种方法解决的问题。在评论中让我知道。
关于javascript - 如何使用 web3-react 将 WalletConnect 集成到您的 Dapp 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67598109/