扫码后页面一直转圈:关闭页面会丢失连接请求吗

 / 
1

我见过很多人在这儿犯过一个代价不小的错误:扫码后页面一直转圈,等得不耐烦直接关了页面,然后发现钱包那边其实已经连上了,但自己再也回不去那个会话了。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

答案是:不一定丢失,但你会陷入一个更麻烦的境地——钱包会话已经建立了,DApp页面却没有任何入口让你恢复它。 这时候你只能去钱包里手动断开,再重新扫码,相当于白等了一场。

为什么关闭页面不等于取消请求

WalletConnect 的配对流程是独立于 DApp 页面的。你扫码这个动作,本质上是在手机钱包和 WalletConnect 中继服务器之间建立了一个配对(Pairing)。这个配对在钱包里会处于"等待会话提议"的状态,直到它收到 DApp 发来的会话请求,或者等到 5 分钟超时自动失效。

当你关闭 DApp 页面时,DApp 那边停止发送会话请求了,但钱包那边已经处在"等待"状态,它不知道你关了页面。这个状态会持续到 5 分钟配对过期,或者你手动去钱包里把它清掉。

如果页面已经关了,先别急着重新开

情况 A:你在钱包里看到了"连接请求"或"待处理"的提示

这时候直接关掉页面,钱包那边还在傻等。如果你直接重新开页面扫码,钱包会认为你在用同一个配对 ID 发起第二次连接,直接报错"不允许重复配对"。

[做什么]:彻底清理掉这个卡住的会话 [怎么做]:打开钱包 App,进入设置 → 找到 WalletConnect 或已连接站点列表,把当前卡住的这个 DApp 条目删除。然后回到浏览器,重新打开 DApp 页面,刷新二维码,再扫码。 [完成标准]:钱包的已连接站点列表里没有这个 DApp 的条目

情况 B:钱包什么都没弹,扫码后手机那边就静默转圈

这种情况说明配对请求压根没发起。DApp 页面一关,请求链直接断了。

[做什么]:重新走一遍完整流程 [怎么做]:回到 DApp 页面(可能需要刷新一次),点击"连接钱包"生成新二维码,扫码时确保手机钱包处于前台且已解锁,扫完后观察钱包是否弹出确认窗口。按照 WalletConnect 最佳实践,钱包应该在扫码后立即显示加载指示,然后弹出确认对话框。

[完成标准]:钱包弹出连接确认窗口,显示 DApp 名称和请求的权限

转圈超过 10 秒怎么办

AlphaWallet 的开发者实测过,WalletConnect 成功的连接通常只需 2-3 秒。如果超过这个时间还在转,大概率卡住了。不要干等,直接刷新二维码。

这里的正确操作是:DApp 页面点"刷新二维码"生成新码(不是刷新整个浏览器页面),然后重新扫码。老码作废了,新码才能建立新配对。

高危风险:有一种情况是钱包虽然没弹窗,但后台已经建立了连接,只是 DApp 没收到回调。这时候你盲目关页面再开新码,会导致一个地址在同一个 DApp 上挂着两个会话。下次你发起交易时,钱包可能让你在两个会话里选,选错了 Gas 费照扣但交易状态不更新。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

什么情况可以放心关页面

  • 你已经在钱包里点了"拒绝"或"取消"——这时候连接请求已经被主动终止,关页面没事。
  • 二维码已经显示"已过期"——配对时间到了,会话自动失效。
  • DApp 页面显示"连接超时"或"Request expired"——DApp 端已经放弃了这次请求,会话被标记为无效。

校验方式: 重新扫码后,手机钱包应弹出连接确认窗口。点击确认后,DApp 页面右上角显示你的钱包地址。如果 3 秒内没反应,按上面说的——刷新二维码重来,而不是关页面。