模态框的重要性:应该选择哪个构建?
传统Web2账户登录通常采用“使用Google登录”或“使用Facebook登录”的方式。在Web3中,这一过程通过钱包完成。如果您想在Uniswap上进行交易或在Orb上收藏帖子,就需要将钱包连接到去中心化应用(dapp)。
Web3Modal正是解决这一问题的方案。它目前提供了简洁的用户界面,让用户可以选择自己喜欢的钱包,通过EIP-6963支持所有浏览器钱包,并具备更多功能。
然而,我们还提供了一个轻量级模态框——WalletConnect Modal。本文将深入探讨WalletConnect的Web3Modal和WalletConnect Modal之间的区别。
Web3Modal
在WalletConnect出现之前,连接钱包和去中心化应用的唯一方式是通过像MetaMask这样的桌面浏览器扩展来检查客户端窗口(即window.ethereum)。这种用户体验的问题在于移动端钱包无法连接到去中心化应用。
Web3Modal通过为移动端钱包提供可扫描的二维码解决了这个问题,同时允许桌面端和浏览器扩展钱包无缝连接。对于开发者来说,这个工具应该包含在任何去中心化应用的入门套件中,因为它处理了模态框应具备的大部分基本功能,例如您的ENS名称和直观的网络切换用户界面。
无论您是启动第一个Web3项目还是将其集成到生产级应用程序(例如zkSync和GemPad)中,它都具有多个优势,能够抽象化Web3开发的复杂部分:
- 多框架支持(React / Vue / Vanilla)
- EVM兼容性
- 访问所有WalletConnect集成钱包(500+)
- 多库兼容性
- wagmi兼容性
- Ethers V5兼容性
- Ethers V6兼容性
- 支持浏览器扩展钱包的EIP-6963
- 可自定义的用户界面
- 交易历史记录
- ENS名称查询
WalletConnect Modal
另一方面,WalletConnect Modal是一个功能有限的轻量级模态框。它设计用于与Ethereum Provider和Universal Provider协同工作,适合希望集成更复杂解决方案和/或非EVM链的开发者。
该模态框允许所有移动端钱包同步和连接;但是,它不支持浏览器扩展钱包,这意味着您无法看到像MetaMask这样最流行的浏览器扩展钱包的典型图像。这一问题在Web3Modal中得到了解决,因此我们推荐开发者使用该SDK。
对比图表
下表概述了Web3Modal和WalletConnect Modal之间的差异。
特性 | Web3Modal | WalletConnect Modal |
---|---|---|
钱包支持 | 所有WalletConnect集成钱包(500+) | 仅移动端钱包 |
浏览器扩展支持 | 是(通过EIP-6963) | 否 |
框架兼容性 | React/Vue/Vanilla | 有限 |
EVM链支持 | 全部 | 部分 |
自定义UI | 是 | 有限 |
结论
正如您所看到的,这两种模态框存在显著差异,我们强烈建议开发者使用Web3Modal,因为它支持所有EVM链,提供功能更丰富、更全面的Web3开发体验。虽然WalletConnect Modal有其用途,但开发者在处理Web3应用程序时需要控制力和灵活性——这正是Web3Modal所提供的。
对于那些对Web3Modal感兴趣的人,请在此处查看我们的网站和文档。