Skip to main content

摘要

Monad 为希望通过模块化钱包基础设施来完善用户体验的开发者 提供了出色的支持。 以下页面概述了受支持的基础设施: 即使对经验丰富的开发者来说,这个领域也可能令人困惑;因此我们在下方 提供了一个大致的分类。

背景

钱包允许用户存储私钥并签署交易。基本设置涉及 钱包与应用之间的分离:应用将交易呈现给 钱包进行签名,钱包将交易提交到网络,并通过从其余额中扣除 原生代币来支付包含和执行费用。 然而,越来越多的开发者希望自定义用户体验,例如 为用户赞助 gas,或允许用户使用替代货币支付费用。其他 开发者希望将”钱包”嵌入到应用中,并赋予应用对该钱包的签名权限, 这样用户就不必对他们所采取的每个操作都签署一次交易。 模块化钱包基础设施使这些及其他功能成为可能。 许多提供商正在为这种体验提供解决方案。为了简化对各种选项的理解, 我们建议采用以下二维矩阵:

基于 EOA 的方式

(EOA,独立式) 是由浏览器扩展钱包、 移动钱包和硬件钱包提供的传统钱包体验。它涉及存储在钱包内的单个私钥。 参见钱包进行概览。 (EOA,嵌入式):通常使用加密技术(MPC、SSS 等)对 签名密钥进行分片,在链下实现额外的授权或访问控制功能,同时 在区块链上呈现为普通的 EOA。参见嵌入式钱包 获取提供商列表。

智能账户(账户抽象)方式

账户抽象意味着使用智能合约代替简单的 EOA。智能合约 实现授权/访问控制逻辑,即逻辑在链上。 在历史上,智能合约无法为其自身的交易成本付费(尽管 EIP-7702 为此规则引入了例外)。因此,账户抽象路径要求 用户签署伪交易(UserOperations)并将其提交到自定义 mempool。 然后,一个称为 Bundler/Relayer 的服务在正常的 Monad 交易中提交 UserOperations 并支付执行费用。 因此,使用智能账户进行构建的开发者至少需要考虑两点: 一些嵌入式钱包提供商支持智能账户。参见嵌入式钱包 并留意”嵌入式智能账户”。