题目
你们上线了第二期功能,DApp 新增支持一条链。发布后发现:浏览器钱包用户可以正常使用新链,而用扫码方式连接的移动端用户在新链上操作时要么没有反应,要么需要重新连接。
请说明这类连接方式与浏览器注入钱包在「链」上的处理差别,以及新增链时应该怎么做发布与引导。
考察目标
- 扫码连接需要为每条链建立会话层面的关系。
- 「过期链」这一概念及其默认处理。
- 技术约束到发布流程与用户引导的转化。
考察 WalletConnect 的链授权模型,以及新增链对既有连接的影响与发布策略。
你们上线了第二期功能,DApp 新增支持一条链。发布后发现:浏览器钱包用户可以正常使用新链,而用扫码方式连接的移动端用户在新链上操作时要么没有反应,要么需要重新连接。
请说明这类连接方式与浏览器注入钱包在「链」上的处理差别,以及新增链时应该怎么做发布与引导。
WalletConnect v2 会话通常需要预先批准链;DApp 后来新增的链可能不在旧会话范围内。wagmi 的 walletConnect 连接器默认将这种链标为 stale(isNewChainsStale: true);对于不支持动态链授权的钱包,自动重连时可能断开,需要用户重新连接并批准。前端应检查会话支持的链,给出明确的重连入口,而不是假设新增链立即可用。
walletConnect 连接器的 isNewChainsStale 参数决定:在已存在的连接器配置里新增链时,该链是否被视为过期链,默认值为 true(依据:wagmi walletConnect connector 页面 §Parameters 的 isNewChainsStale)。false(依据:wagmi walletConnect connector 页面 §Parameters 的 isNewChainsStale)。@walletconnect/ethereum-provider,其许可证被标注为非 OSI 兼容(依据:wagmi walletConnect connector 页面 §Install)。发现这道题有问题? 反馈此题