W3
EIP-6963EIP接口Final(2023-05-01)

多钱包发现机制

钱包通过事件广播自己的 provider,dApp 可以列出全部可用钱包供用户选择。

适用链:全部 EVM 链

为什么重要:解决多个插件钱包互相覆盖 window.ethereum 的老问题,用户不必为了用某个 dApp 卸载其他钱包。

函数签名与选择器

选择器是签名的 keccak256 前 4 字节;事件则是完整的 32 字节 topic0。 点一下即可复制。

签名 / 字段选择器 / topic0说明
eip6963:announceProvider钱包广播事件,detail 含 info 与 provider。
eip6963:requestProviderdApp 主动请求广播。
info.uuid / name / icon / rdnsuuid 做去重键,rdns 是反向域名(如 io.metamask)。

实现与使用时的常见陷阱

  • 事件监听必须尽早注册,晚于钱包广播就会错过;但仍要再发一次 requestProvider 兜底。
  • 保留 window.ethereum 兼容分支,老钱包不会广播。
  • uuid 用来去重,同一钱包多次广播只处理第一次。

相关标准

同属「接口」的其他标准
想把这个标准用起来?开发者路径的第 1–2 阶段讲了怎么把它写进项目;合约 IDE里有对应的可编辑模板与静态自检;链上 API 参考则给出前端调用它的三种写法。