ERC-4337 智能合约钱包是如何运作的?
使用账户抽象(ERC-4337)的智能合约钱包创建的是由智能合约管理的钱包,而不是像 EOA 钱包(外部拥有账户)那样由单一私钥管理的钱包。
智能合约钱包的可编程特性使得开发大量新用例成为可能。通过在不牺牲安全性或匿名性的前提下降低复杂度,智能合约钱包将有助于推动下一波区块链用户的入门。
想在你的应用中加入嵌入式智能合约钱包?使用我们企业级的 Embedded Accounts 和垂直整合的 AA 基础设施,让用户无需助记词、无需 gas、无摩擦地完成入门。
什么是智能合约钱包?
智能合约钱包使用智能合约来存储和管理数字资产(例如加密货币、NFT 等)。智能合约钱包是账户抽象的基础:这一过程通过将账户控制权从网络中“抽象”出来并用智能合约定义,将 Ethereum 的各种账户类型统一为单一类型。
一些使用 ERC-4337 的智能合约钱包示例:
- Soul Wallet
- Candide
- UniPass
- Castle
- Openfort
不使用 ERC-4337 的两个主要智能合约钱包是 Safe 和 Argent。
什么是合约账户(cas)?
合约账户也称为智能合约,包含用于管理各方之间信息交换的代码。合约账户被用于每一个 DeFi 协议、NFT 合集或 ERC-20 代币中。
合约的所有业务逻辑和状态变量都存储在链上。由于智能合约的状态和代码存储在链上,部署它的外部拥有账户必须支付费用。
注意:在 web3 编程中存在一种“智能合约工厂”模式,即一个合约可以通过预定义的接口部署其他合约。即便在这种情况下,发起该操作的交易也必须来自 EOA,并由其支付费用。
合约账户与**外部拥有账户(eoas)**在工作方式上有何不同?
智能合约账户与 EOA 账户之间的主要区别在于智能合约账户可以包含逻辑。由于只有 EOA 账户能够发起交易,智能合约账户依赖 Bundler 的 EOA 账户将用户操作打包成一笔交易并发布到区块链上。
在当前的 Ethereum 协议下,EOA 是唯一能够发起交易的账户类型,无论是合约调用还是价值转移。即使是一个合约账户调用另一个合约账户的情况,交易的发起方也始终来自外部拥有账户。
下面是合约账户与 EOA 账户的对比:
那么,如果智能合约钱包不能自行发起交易,它们又是如何执行交易的呢?
ERC-4337 智能合约钱包的工作原理
由于智能合约钱包无法发起交易,它们必须由 EOA 钱包来调用。这一过程由多个账户抽象基础设施提供方(例如 Bundler)以及智能合约(例如 EntryPoint)共同支持。
智能合约钱包交易的典型流程如下:
- 用户想要执行一个 UserOperation
- UserOperation 被发送到一个“备用内存池”
- 拥有 EOA 钱包的 Bundler 将所有 UserOperation 打包并发送到 EntryPoint 合约
- EntryPoint 合约验证并执行所有 UserOperation
- 打包这些 UserOperation 的 EOA 钱包会由用户的钱包或 Paymaster 偿还其代为支付的 ETH

尽管从技术角度理解智能合约钱包的工作原理可能有一定难度,但对终端用户而言,相比 EOA 钱包,智能合约钱包提供了许多改进,例如可编程性以及社交恢复等功能。
了解智能合约钱包工作原理的更多资源
关于账户抽象各组成部分如何运作的更多信息,请阅读由 David Philipson(Alchemy 账户抽象基础设施工程团队成员)撰写的系列文章《You Could Have Invented Account Abstraction》。
常见问题
什么是智能合约钱包?
智能合约钱包使用智能合约而非单一私钥来存储和管理加密货币、NFT 等数字资产,是账户抽象的基础。
ERC-4337 智能合约钱包是如何工作的?
ERC-4337 钱包的流程是:用户创建 UserOperation,将其发送到备用内存池,Bundler 收集并将其提交给 EntryPoint 合约进行验证和执行,随后由钱包或 Paymaster 偿还相关费用。
智能合约账户与 EOA 账户有什么区别?
智能合约账户包含可编程逻辑,但无法自行发起交易;而 EOA 账户可以发起交易,但不具备可编程特性。
什么是 UserOperation?
UserOperation 是用户创建的交易请求,会被发送到备用内存池,由 Bundler 收集后通过 EntryPoint 合约进行处理。
Bundler 在 ERC-4337 中的作用是什么?
Bundler 是拥有 EOA 钱包的节点,它们从备用内存池中收集 UserOperation,将其打包,并提交给 EntryPoint 合约进行验证和执行。
什么是 EntryPoint 合约?
EntryPoint 合约是链上智能合约,用于验证并执行由 Bundler 提交的打包后的 UserOperation。
智能合约钱包需要支付 gas 费用吗?
智能合约钱包可以使用 Paymaster 来赞助 gas 费用,从而实现无 gas 交易,用户无需直接支付 gas。
能否举例说明使用 ERC-4337 的智能合约钱包?
示例包括 Soul Wallet、Candide、UniPass、Castle 和 Openfort,而 Safe 和 Argent 是未使用 ERC-4337 的智能合约钱包。
相关概览
钱包2026年10月14日
什么是 paymaster?
Paymaster 为 user operation 赞助 gas,或让用户用 ERC-20 代币支付这笔费用。
钱包2026年9月2日
Agent 钱包:面向 AI Agent 的会话与权限模型
AI Agent 如何在不持有私钥的情况下获得范围受限、可撤销的钱包访问权限:会话、委托签名与即时撤销。
钱包2026年7月29日
别再把私钥粘贴到 Cursor 中:如何为你的编码智能体配置钱包
为你的编码智能体配置钱包,而不必把私钥交给它。了解 Alchemy CLI 的智能体钱包如何通过限定范围的会话,让智能体无需在 .env 中存储私钥即可完成交易。

构建区块链应用
Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。