跳到主要内容
Web3 前端面试题库
返回题库
初级钱包与连接概念题

WalletConnect connector 的接入前置条件

从配对 URI 的结构出发,说明对称密钥、中继协议与项目侧配置各自的作用。

题目

团队准备接入 WalletConnect 作为移动端连接方案。评审时被问到三个问题:配对链接里有什么、对称密钥的角色是什么、如果项目侧配置或中继不可用会发生什么。请结合配对 URI 的结构说明接入前置条件。

考察目标

  • 配对 URI 的结构与必需参数。
  • 对称密钥在配对加密中的作用。
  • 项目侧配置与中继可用性的边界。
查看参考答案包含简要回答、深入分析、常见错误与评分标准

30 秒回答

WalletConnect 的配对入口是一个 wc: URI,包含 topic、用于加密的 symKey 与中继相关参数;扫码仅启动配对,连接还需钱包批准会话。wagmi 接入时需要安装对应依赖并配置 walletConnect connector 的 projectId,按需设置 metadata 与 relayUrl。中继不可用、配置缺失或会话未获批准时,界面应分别提示。实现差异与工程取舍见深入回答。

深入回答

  • 【协议保证】配对 URI 的 schema 为 wc:topic@version?parameters,版本与参数可省略(依据:WalletConnect Pairing URI §Schema)。
  • 【协议保证】必需参数包括 symKey(用于配对加密的对称密钥)、methods(按 ProtocolType 分组的方法列表)与 relay-protocol(中继协议名)(依据:WalletConnect Pairing URI §Parameters 的 Required)。
  • 【协议保证】可选参数包括 relay-data(hex 载荷)与 expiryTimestamp(秒级时间戳,规范建议生成时设为 5 分钟之后)(依据:WalletConnect Pairing URI §Parameters 的 Optional)。
  • 【实现行为】wagmi 的 walletConnect connector 需要安装 @walletconnect/ethereum-provider,并在配置时提供 projectId;metadata 与 relayUrl 可按需设置(依据:wagmi walletConnect connector §Install、§Usage、§Parameters)。
  • 【工程经验】projectId 属于 DApp 的 connector 配置,不是配对 URI 字段;不要让应用代码自行拼接 symKey 或把它写进日志(依据:WalletConnect Pairing URI §Parameters;wagmi walletConnect connector §projectId)。
  • 【工程经验】把项目标识放进环境变量并配合域名白名单管理,避免使用公开示例值(工程经验,无规范依据)。
  • 【工程经验】钱包端展示的名称与图标来自项目元数据,缺失会让用户难以核对来源,上线前需要逐项检查(工程经验,无规范依据)。
  • 【工程经验】中继不可用或项目配置缺失时,连接流程会失败或受限,需要有可读的错误提示与替代路径(工程经验,无规范依据)。

常见错误

  • 把 projectId 当成配对 URI 的参数,或把 symKey 当成项目配置项(依据:WalletConnect Pairing URI §Parameters;wagmi walletConnect connector §projectId)。
  • 使用公开示例里的项目标识(【工程经验】)。
  • 生成配对链接后长期复用,忽略有效期(【协议保证】expiryTimestamp 标注失效时间,规范建议 5 分钟;依据:WalletConnect Pairing URI §Specification)。
  • 缺少项目元数据,导致钱包端展示不可信(【工程经验】)。
  • 只验证桌面端连接,忽略移动端在中继不可用时的表现(【工程经验】)。

面试官追问

  1. 配对链接过期后,用户看到什么?重试路径怎么设计?
  2. 中继服务不可用时,用户还能完成哪些操作?
  3. 项目标识与会话对称密钥分别保护什么?
  4. 接入 WalletConnect 与自建连接方案,取舍分别是什么?
  5. 如何验证项目配置在目标域名下可用?

评分标准

初级回答

  • 知道配对 URI 以 wc: 开头,承载配对所需参数。
  • 知道接入 WalletConnect 需要项目侧的标识配置。

中级回答

  • 能说出配对 URI 的必需与可选参数,以及 symKey 的作用。
  • 能说明中继不可用时对连接流程的影响范围。

高级回答

  • 能给出项目配置、环境变量与域名白名单的管理方式。
  • 能说明接入点选择与替代路径设计,并覆盖移动端验证。

参考资料

发现这道题有问题? 反馈此题