Network Mirror Mode 仅在付费计划中可用。要为您的账户启用它,请联系我们的销售团队。

何时使用
当您需要针对实时网络条件(而不是冻结的 fork)评估行为时,请使用 Network Mirror Mode:- 测试您的合约在当前预言机价格、资金池储备或治理状态下的行为。
- 暂存一笔交易并控制它相对于下一个同步区块的执行时机。
- 在特定区块处暂停实时网络以检查状态,然后继续重放。
- 随时间将您 Virtual Environment 的存储和余额与 Mainnet 基线进行比较。
同步如何工作
Mainnet 的一次滴答会在大约 12 秒内产生一次 Virtual Environment 滴答。每次滴答都会引入下一个区块的交易,并将其应用到您 Virtual Environment 的当前状态之上。 您提交的交易会停留在 Virtual Environment 的内存池中,直到下一次同步滴答,此时它们会被按 FIFO 顺序前置到同步区块中。您的交易先执行;同步的 Mainnet 交易在其之后针对由此产生的状态执行。 “live” 指示灯显示 Virtual Environment 是否跟得上:| 状态 | 含义 |
|---|---|
| Live | 滴答活跃,滞后一个区块或更少 |
| Catching up | 滴答活跃,滞后超过一个区块 |
| Paused | 滴答循环已停止 |

时间控制
时间控制条允许您相对于 Mainnet 移动 Virtual Environment 的时钟。每个控件直接对应于您也可以从自己的代码中调用的 RPC 调用:| 控件 | RPC 调用 | 行为 |
|---|---|---|
| Rewind | tenderly_revertSync | 回退 N 个区块(默认 10) |
| Play | tenderly_startSync | 从当前区块恢复持续同步 |
| Pause | tenderly_stopSync | 停止滴答循环 |
| Step | tenderly_syncNext | 仅同步下一个区块 |
1×、2×、4×、realtime)映射到同步调用之间的滴答延迟(分别为 12s、6s、3s,以及无延迟)。

tenderly_getSyncStatus。
状态漂移视图
State Drift 视图显示您的 Virtual Environment 与 Mainnet 之间发生偏离的位置。对于查找您的测试实际改动的合约或钱包很有用。 三个子视图共享同一个界面:| 子视图 | 显示内容 |
|---|---|
| State | 每个合约的存储槽漂移 |
| Balance | 相对于 Mainnet 的钱包和代币余额差异 |

区块上下文保真度
Network Mirror Mode 在最常影响合约行为的维度上承诺与父网络一对一对等:- 区块上下文对齐:
block.timestamp、baseFee、coinbase和prevrandao反映 Mainnet 的值。 - Gas 市场对等:当前 Mainnet 的 gas 定价适用于您提交的交易。
- 亚滴答延迟:Mainnet 的一次滴答会在大约 12 秒内产生一次 Virtual Environment 滴答。
作弊码行为
由于 Network Mirror Mode 持续导入真实区块,一些 Admin RPC 作弊码的行为与标准 Virtual Environment 上的行为不同。| 行为 | 当 Virtual Environment 处于 Network Mirror Mode 时 |
|---|---|
Admin RPC 作弊码(tenderly_setBalance、tenderly_setErc20Balance、tenderly_setStorageAt 等) | 在实时同步激活时被禁用。 暂停同步以使用它们。 |
| Solidity 预编译作弊码 | 有效,但在下一个同步区块边界执行,而不是立即执行。 |
tenderly_sendBlock | 在同步激活时被禁用。 |
| Virtual Environment 创建时的初始空区块 | 跳过。 |
| Virtual Environment 创建时默认的 10 个已注资账户 | 不创建。 |
模式比较
| 标准 Virtual Environment | State Sync | Network Mirror Mode | |
|---|---|---|---|
| 来自父网络的初始状态 | 是(快照) | 是 | 是 |
| 跟踪新的父网络区块 | 否 | 按槽、读取时 | 是,逐块 |
| 用户可见的内存池 | 否 | 否 | 是 |
| 区块上下文与父网络匹配 | 否(独立时钟) | 否 | 是 |
| 作弊码通过 Admin RPC 工作 | 是 | 是 | 仅在同步暂停时 |
| 时间控制(rewind / play / step) | 否 | 否 | 是 |
| 状态漂移视图 | 否 | 否 | 是 |
| 适用于 | 冻结时间点集成测试 | 最新预言机值、资金池状态 | 实时网络演练、内存池测试 |
已知限制
- 仅单一网络。 Network Mirror Mode 按每个 Virtual Environment 应用;目前不支持将其与多链 Virtual Environments 组合使用。