原文链接:https://medium.com/blockapex/simplifying-eip-6963-5e9c78d3e10d 译者:AI 翻译官[1],校对: 翻译小组[2] 本文永久链接:learnblockchain.cn/article…[3]
Metamask 是浏览器钱包的先驱,它由 Consensys 于 2016 年开发。此后,在上一个牛市周期中开发了一系列钱包扩展。值得一提的有 Trust、WalletConnect、Zerion、Rainbow、Phantom、Talisman、Brave、Coinbase 等。每个钱包针对不同的区块链社区和用例。其中一些还支持多链操作。
如果你是加密货币爱好者和区块链支持者,你可能会发现自己需要在浏览器中使用两个或更多钱包。也许是为了获得空投或其他原因。这就是 EIP-6963 的用武之地。EIP-6963 旨在简化以太坊钱包提供商 (Provider),并增强用户的 UI 体验。
要了解 EIP-6963 的影响和重要性,我们必须看看它的前身 EIP-1193[4]。它概述了 DApp 和钱包如何连接的方法。钱包将注入一个名为 window.ethereum 的函数以加载到 DApp 中。这就引发了一个竞争条件问题,通常后加载的那个会胜出。
这种竞争条件阻碍了用户体验。如果你在浏览器中有两个或更多钱包,你可能会遇到无法加载你想要的钱包的问题。而是随机选择一个钱包或胜出的那个钱包。你可能经常会从 Chrome 扩展管理器中禁用一个扩展,然后你喜欢的钱包就会加载并连接到 DApp。
提出了一个新的 EIP 来解决这个问题。它旨在优化多个钱包 Provider 的互操作性。这个解决方案旨在通过减少新钱包 Provicer 的进入壁垒来促进更公平的竞争,同时增强以太坊网络上的用户体验。基本上,使用特定钱包的决定现在掌握在用户手中。DApps 将列出浏览器中存在的钱包,用户可以根据自己的选择进行交互。
每个钱包提供商(Provicer)将通过以下接口 EIP6963ProviderInfo 发布信息:
/**
* 表示显示钱包所需的资源
*/
interface EIP6963ProviderInfo {
uuid: string;
name: string;
icon: string;
rdns: string;}
DApps 和钱包预计会发出一个事件并实例化一个 eventListener 以发现各种钱包。
DApp 必须通过 window.addEventListener() 方法监听钱包传递的 EIP6963AnnounceProviderEvent。EIP-6963 向后兼容,如果钱包仍在考虑升级或不想升级,也不会受到影响。
钱包端:
DApp 端:
总体而言,EIP-6963 将在用户与 DApps 交互的体验中带来革命性变化,并将允许新玩家进入钱包领域,与其他钱包公平竞争。在追求新实现的过程中,应牢记安全考虑,通常安全性被忽视,以实现新的事物。
本文由 AI 翻译,欢迎小伙伴们来校对[7]。
AI 翻译官: https://learnblockchain.cn/people/19584
[2]翻译小组: https://learnblockchain.cn/people/412
[3]learnblockchain.cn/article…: https://learnblockchain.cn/article/8497
[4]EIP-1193: https://eips.ethereum.org/EIPS/eip-1193
[5]https://eips.ethereum.org/EIPS/eip-6963: https://eips.ethereum.org/EIPS/eip-6963
[6]https://eips.ethereum.org/EIPS/eip-1193: https://eips.ethereum.org/EIPS/eip-1193
[7]校对: https://github.com/lbc-team/Pioneer/blob/master/translations/8497.md
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。