
Simulator 着陆页:单交易和 simulation bundle 入口,附带功能摘要。
布局
构建器包含三个区域: 会话条贯穿顶部。它保存适用于每一步的默认值:Network、Block(默认为Pending)和默认的 From 地址。点击 Configure 可设置默认 gas、gas price 和 value。
Bundle 栏是左侧列。每个步骤卡片显示步骤编号、标签(在选择合约前为 New call,选择后为 ContractName · functionName),以及运行后的状态徽章。点击步骤即可聚焦它。拖动可重新排序。使用 C 添加步骤,J/K 在步骤间移动,F 切换聚焦模式。
聚焦步骤视图是右侧列。运行前,它显示步骤编辑器。运行后,它显示该步骤的结果:解码输出、已使用的 gas、事件、状态变更和代币转账。
单次模拟
要运行单次模拟,请使用默认打开的一个步骤。 Decoded 模式允许您按名称选择合约和函数:
Raw 模式直接接受目标地址和一个
0x 前缀的 hex 负载。当您已有来自现有交易的 calldata 或手动编码时,这很有用。
点击 Simulate(或按 ⌘↵)即可运行。右侧面板会填充结果:函数调用摘要、已使用的 gas、解码输出,以及 Events、State Changes、Fund Flow 和 Gas Profiler 标签页。
您也可以从现有交易开始:在任何交易详情页面上点击 Re-Simulate,将其输入加载到构建器中。默认情况下,模拟会在原始交易的区块和时间戳上运行。
要将当前设置(单个调用或整个 bundle)作为链接分享,打开时预填表单而不执行,请点击页面标题中的 Share draft。CI 和其他工具可以通过 drafts API 创建同样的链接。参见分享 Simulator draft 链接。
Simulation bundles
一个 bundle 按顺序运行最多五个步骤,共享状态。当一笔交易的结果依赖于前一笔时,请使用 bundle,例如允许后续转账的授权。步骤在栏中添加和重新排序,每个步骤都有自己的 From 覆盖和 cheatcodes,整个 bundle 通过一次点击 Simulate 执行。 有关构建、重新排序、结果徽章以及 bundle 在模拟历史中如何显示的信息,请参阅 Simulation Bundles。
New Simulation 表单:顶部是会话条(Network、Block),左侧是交易参数,下方是 cheatcode 部分。
Cheatcodes
每个步骤都有一组 cheatcodes(在步骤执行之前立即运行的附加组件)。它们既适用于单次模拟(作为步骤级控件),也适用于 bundle 中的每个步骤。
展开 Fund address、Override timestamp 和 State overrides 的步骤。此处 State overrides 设置 DAI ward 存储槽,以使 mint 成功。
另请参阅
- Simulation Bundles:具有共享状态的多步骤模拟,包括 3 步 DAI mint、approve 和 transferFrom 指南。
- Simulation Mode:跨 dashboard 的持久钱包模拟,并在运行之间累积状态。
- 使用状态覆盖进行模拟:如何覆盖存储、余额和字节码。
- 模拟参数:会话默认值、区块和交易索引选择、From 地址和 cheatcode 字段的完整参考。
- 分享 Simulator draft 链接:将单个调用或 bundle 作为预填表单的链接分享,可从 dashboard 或 drafts API 创建。
- 编辑合约源码:通过针对修改后的源码运行模拟来测试 bug 修复。
- Bundled Simulations(API):通过
simulate-bundle端点以编程方式运行 bundle。 - Virtual Environments:当您需要完整的持久 RPC 环境而不是无状态 bundle 时。