EIP-6963EIP接口Final(2023-05-01)多钱包发现机制
钱包通过事件广播自己的 provider,dApp 可以列出全部可用钱包供用户选择。
适用链:全部 EVM 链
为什么重要:解决多个插件钱包互相覆盖 window.ethereum 的老问题,用户不必为了用某个 dApp 卸载其他钱包。
函数签名与选择器
选择器是签名的 keccak256 前 4 字节;事件则是完整的 32 字节 topic0。 点一下即可复制。
| 签名 / 字段 | 选择器 / topic0 | 说明 |
|---|---|---|
| eip6963:announceProvider | — | 钱包广播事件,detail 含 info 与 provider。 |
| eip6963:requestProvider | — | dApp 主动请求广播。 |
| info.uuid / name / icon / rdns | — | uuid 做去重键,rdns 是反向域名(如 io.metamask)。 |
实现与使用时的常见陷阱
- ✕事件监听必须尽早注册,晚于钱包广播就会错过;但仍要再发一次 requestProvider 兜底。
- ✕保留 window.ethereum 兼容分支,老钱包不会广播。
- ✕uuid 用来去重,同一钱包多次广播只处理第一次。
相关标准
同属「接口」的其他标准