跳到正文
← 使用教程

WalletConnect 已断开还会有权限吗?核对会话与签名请求

链小知 · 入门 · 核验 · 依官方文档整理

以已存在的连接为对象,检查账户、链、方法和断开状态,将协议会话与链上授权分开处理。

开始前准备

  • 准备本人使用的钱包、已连接应用的准确域名、公开地址和目标链;从钱包自己的连接/会话管理入口开始。
  • 本教程针对 WalletConnect Sign 的会话语义;不需要开发者项目 ID,也不创建新的二维码或签名来测试。
  • 各钱包菜单不同;界面未展示底层 namespaces 时记录可见字段,不要求读者找 SDK 日志或提交会话 URI。

1. 确认谁在管理钱包资产

WalletConnect 负责应用与钱包通信,不能代替你当前的实际钱包。记录钱包名称、应用域名与账户,避免在“WalletConnect 登录”宣传页面重新输入恢复词。

官方网络主页还有支付等产品,本教程只处理应用连接会话。二维码或可连接标识不证明应用可信;配对和账户批准也不是一笔交易执行结果。

检查结果:钱包产品、应用和账户三个对象清楚。

2. 读取已批准会话范围

在钱包会话详情查看实际列出的账户、链和权限。规范区分应用提出的 required/optional 范围与最终批准 session;有多条链时分别核对,不从钱包总支持名单推定本会话全部可用。

若详情展示 methods,记录 personal_sign、eth_sendTransaction 或对应链方法的区别;只有简化权限说明时记录原文。发现意外账户、网络或权限时,不追加批准来消除错误。

检查结果:记录实际已批准范围,缺字段明确未知。

3. 将连接与后续请求分开

协议的 session_request 是建立会话之后的独立请求。查看现有请求历史中的账户、链、消息内容或交易目标;签消息也可能带来权限,不因无 Gas 就直接认可。

出现链不匹配、请求过期或不支持的方法时保留错误,不按“已连接”推断请求成功。浏览器提示成功、钱包签名和真实链上执行是不同结果。

检查结果:各请求有自己的对象及结果,连接未替代逐次审核。

4. 从钱包端断开并复查

在实际钱包的活动会话列表选准确应用后使用其 Disconnect 入口,再检查条目状态;也可对照应用端是否更新。官方协议通过 session_delete 通知对端,但具体按钮和同步展示由钱包实现。

关闭标签页或清除应用界面不等于双方会话已结束。出现 session topic 不存在之类错误,可能已断开或选错会话;保存双方状态与时间,不重新连接危险页面来验证。

检查结果:钱包会话状态及应用端可见状态分开保存,失败不记成功。

5. 另查既有链上授权

若曾批准代币 spend 或 Permit,另外按原网络、代币、spender 查权限。断开协议会话不发出链上撤销,也不回滚此前签名或交易。

需要撤销时使用对应钱包/权限工具的专门流程,核对其请求和网络成本;此处仅确认还有哪些权限待核。链上结果未读取到时保持未知,不能写“所有权限已清除”。

检查结果:会话已断开与资产授权是否仍在是两项独立结论。

怎样确认完成

  • 保存实际钱包、应用、账户、会话范围和双方断开状态。
  • 原有资产授权及消息签名另核对,未知范围未被说成已清除。
  • 本文核验为协议及官方帮助正文;未连接钱包、签名或运行 SDK 会话测试。

常见错误与边界

  • 连接协议不是独立持钥钱包,二维码不构成应用认证。
  • 规范例子里的链不代表当前会话已批准这些链。
  • 关闭网页、协议断开和链上授权清零不是同一操作。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据