WalletConnect Ethereum Provider 2.21.0版本发布:重要变更与优化
WalletConnect是一个开源协议,旨在实现钱包与DApp之间的安全通信。作为其核心组件之一,Ethereum Provider为开发者提供了与区块链网络交互的便捷方式。最新发布的2.21.0版本带来了一些值得关注的改进和优化。
主要变更内容
废弃requiredNamespaces参数
本次更新中最显著的变化是对requiredNamespaces参数的废弃处理。在之前的版本中,开发者可以使用这个参数来指定DApp必须支持的命名空间。但在实际应用中,这种硬性要求有时会导致不必要的连接失败。
新版本中,如果开发者仍然使用了requiredNamespaces参数,系统会自动将这些值分配给optionalNamespaces。这一变更使得DApp能够更灵活地与不同钱包交互,同时保持向后兼容性。
钱包能力缓存优化
另一个重要改进是针对wallet_getCapabilities请求的缓存机制。在2.21.0版本之前,缓存仅基于钱包地址来判断是否需要重新请求能力信息。新版本引入了更精细的缓存策略,现在会同时考虑链ID(chainId)和钱包地址两个维度。
这意味着:
- 同一钱包在不同链上的能力信息会被分别缓存
- 只有当链ID和钱包地址都匹配时才会使用缓存
- 减少了不必要的网络请求,提高了性能
技术影响分析
这些变更对开发者意味着什么?
对于前端开发者而言,不再需要担心requiredNamespaces的硬性限制可能导致连接失败的问题。系统会自动处理这一转换,使得DApp能够更广泛地兼容各种钱包。
对于性能敏感的应用,新的缓存策略可以显著减少与钱包的交互次数。特别是在多链环境下,用户切换不同链时,系统能够更智能地决定何时需要重新获取钱包能力信息。
升级建议
对于正在使用WalletConnect Ethereum Provider的开发者,建议尽快升级到2.21.0版本。升级过程应该是平滑的,因为:
- 废弃的
requiredNamespaces参数会被自动转换,不会破坏现有功能 - 缓存机制的改进是向后兼容的,不会影响现有逻辑
- 新版本与其他WalletConnect组件(如universal-provider和sign-client)保持同步更新
总结
WalletConnect Ethereum Provider 2.21.0版本通过废弃硬性命名空间要求和优化缓存机制,进一步提升了开发灵活性和系统性能。这些改进使得DApp能够更好地适应多样化的钱包环境,同时为用户提供更流畅的交互体验。对于区块链开发者来说,及时采用这些改进将有助于构建更健壮、更高效的分布式应用。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0117- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
SenseNova-U1-8B-MoT-SFTenseNova U1 是一系列全新的原生多模态模型,它在单一架构内实现了多模态理解、推理与生成的统一。 这标志着多模态AI领域的根本性范式转变:从模态集成迈向真正的模态统一。SenseNova U1模型不再依赖适配器进行模态间转换,而是以原生方式在语言和视觉之间进行思考与行动。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00