题目
一个 DApp 用自绘二维码承载 WalletConnect 连接。上线后收到两类反馈:用户扫码批准后,页面停在「等待批准」;部分用户从钱包返回浏览器后,会话并没有建立。请说明这套扫码与跳转流程有哪些状态需要覆盖。
考察目标
- 配对 URI 在扫码与跳转流程中的作用。
- 连接状态机的分支与用户可理解的状态。
- 桌面与移动端测试的覆盖范围。
以配对 URI 为入口,覆盖等待批准、会话建立与过期重试的状态设计。
一个 DApp 用自绘二维码承载 WalletConnect 连接。上线后收到两类反馈:用户扫码批准后,页面停在「等待批准」;部分用户从钱包返回浏览器后,会话并没有建立。请说明这套扫码与跳转流程有哪些状态需要覆盖。
按配对 URI 的 schema,DApp 与钱包之间传递的是一个 wc: 开头的 URI,其中包含 topic、必需参数(symKey、methods、relay-protocol)以及可选的失效时间;它的用途是配对,钱包侧据此加入配对并推进会话建立。因此扫码或跳转只是把这份 URI 交给钱包,连接结果取决于后续的会话批准。界面需要覆盖等待批准、批准后会话尚未就绪与用户放弃等状态。实现差异与工程取舍见深入回答。
发现这道题有问题? 反馈此题