---
title: "简化 ERC-4337 交易签名"
description: "开发者现在只需一行代码，即可通过 Account Kit 模拟 User Operations，以人类可读的格式让用户完全了解所有资产变动、授权变更和链上回滚。"
---

# 简化 ERC-4337 交易签名

我们很高兴地宣布推出 UserOp Simulation。交易模拟一直在帮助 web3 变得更安全、更易用。今天，我们很高兴将这项能力带给智能账户的 ERC-4337 UserOps。

通过模拟 UserOp，你可以预测其预期结果，并以易于理解的格式展示出来。UserOp Simulation API 会返回所有资产变化、授权变化以及链上回滚信息。

开发者现在可以使用 Account Kit，只需一行代码即可添加 UserOp Simulation！

准备好深入了解了吗？我们开始吧！

## 回顾：外部拥有账户的交易模拟
今年 1 月，[Transaction Simulation](https://www.alchemy.com/transaction-simulation/?a=8b181d81d6) 通过让用户完全了解交易的预期结果，使交易签名不再是一个黑箱。

如果没有模拟功能，用户在签名交易时只能盲目信任应用发起的确实是他们所期望的交易。

[Transaction Simulation APIs](https://www.alchemy.com/docs/reference/simulation/?a=36867e6c68) 套件通过大幅简化交易签名的用户体验，为 EOA 钱包用户解决了这一问题。它还通过让恶意交易更容易被识别，帮助保障了用户的安全。

但一种新型钱包正在席卷整个生态系统：ERC-4337 智能账户。

## 今日发布：面向 ERC-4337 智能账户的 UserOp 模拟
今年，ERC-4337 智能账户迎来爆发式增长，[链上已部署超过 130 万个账户](https://dune.com/niftytable/account-abstraction)。智能账户是在 web3 应用中实现 web2 级用户体验的最佳方式，而模拟功能正是其中的关键组成部分。

问题在于，智能账户发送交易的方式与普通 EOA 钱包不同。它们发送的是 User Operation——一种由 [ERC-4337 standard](https://eips.ethereum.org/EIPS/eip-4337) 定义的元交易。

今天，我们发布了首个 ERC-4337 UserOp Simulation API，帮助开发者为用户构建主流的结账体验。

## UserOp 模拟带来的能力：
🔶 实现透明度，向用户清晰展示其 UserOp 的预期结果。

🔶 以经过 ABI 解码、易于理解、并包含所有相关元数据的格式查看结果。

🔶 使用 Account Kit，只需一行代码即可集成 UserOp Simulation。

🔶 获得更高的安全性，避免提交预计会失败的 UserOp。

UserOp Simulation 是这套用于简化 SCA 使用的 API 与工具套件中最新加入的一员。

## 工作原理
Account Kit 支持 UserOperation 模拟的方式有两种：

1. 使用 [withAlchemyUserOpSimulation](https://www.alchemy.com/docs/wallets/concepts/middleware) 中间件，在发送前对每个 UserOp 进行模拟。
1. 使用 [simulateUserOperationAssetChanges](https://www.alchemy.com/docs/wallets/api/bundler-api/useroperation-simulation-endpoints/alchemy-simulate-user-operation-asset-changes) 方法有选择地模拟 UserOp，作为始终运行模拟的替代方案。

## 账户抽象产品套件
Alchemy 的 [Account Kit](https://www.alchemy.com/docs/wallets/) 是一套完整的开发者工具包，用于在你的应用中嵌入智能账户，支持社交登录、gas 抽象、批量交易等功能。以下是其包含的全部内容：

<ImageBlock
  src="https://media.alchemy.com/1705120183-account-kit.png"
  alt="智能账户工具产品套件示意图"
  width={1170}
  height={1344}
  caption="Account Kit 产品套件"
/>

🟧 [aa-sdk](https://www.alchemy.com/docs/wallets)：一个灵活的库，用于集成、部署和使用智能账户

🟧 [Light Account](https://www.alchemy.com/docs/wallets/smart-contracts/other-accounts/light-account)：一个经过 gas 优化的 ERC-4337 智能合约账户

🟧 [Signers](https://www.alchemy.com/docs/wallets/signer/what-is-a-signer)：与你常用的社交登录及 passkey 提供方的集成

🟧 [Gas Manager APIs](https://www.alchemy.com/docs/reference/how-to-sponsor-gas-on-evm)：一个可编程 API，用于为你的应用赞助 gas 费用

🟧 [Bundler APIs](https://www.alchemy.com/docs/reference/bundler-api-quickstart)：使用 Rust 构建，实现高性能与高可靠性

🟧 [Custom Webhooks](https://www.alchemy.com/docs/custom-webhooks)：在用户的 user operation 完成时通知用户

## 立即开始模拟
使用 Alchemy 的开发者工具，立即开始模拟 ERC-4337 UserOps。
