> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tenderly.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Network Mirror Mode

> 运行一个与实时网络逐块保持同步的 Virtual Environment，具有可见的内存池、时间控制和状态漂移视图。

Network Mirror Mode 让 Virtual Environment 与其父网络持续保持一致。新的 Mainnet 区块在产生时被吸收到 Virtual Environment 中，UI 中可见的内存池会收集您提交的任何交易。您的交易会按到达顺序被前置到下一个同步的区块中。

<Note>
  Network Mirror Mode 仅在付费计划中可用。要为您的账户启用它，请[联系我们的销售团队](https://tenderly.co/contact-us)。
</Note>

<Frame caption="Mirror-Mode Virtual Environment 的 Network Sync 页面：区块滞后图表、同步状态计数器以及 Rewind / Sync block / Start auto-sync 控件。">
  <img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/testnets/06-vnet-network-sync.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=2491d8ea590edfd419ebb7bdd440f1c3" alt="Network sync status panel showing Mainnet head vs Virtual Environment head block numbers, block lag chart, and time-control buttons" width="1600" height="1000" data-path="images/testnets/06-vnet-network-sync.webp" />
</Frame>

## 何时使用

当您需要针对**实时网络条件**（而不是冻结的 fork）评估行为时，请使用 Network Mirror Mode：

* 测试您的合约在当前预言机价格、资金池储备或治理状态下的行为。
* 暂存一笔交易并控制它相对于下一个同步区块的执行时机。
* 在特定区块处暂停实时网络以检查状态，然后继续重放。
* 随时间将您 Virtual Environment 的存储和余额与 Mainnet 基线进行比较。

如果您需要冻结的时间点 fork，请使用标准 Virtual Environment。如果您需要不带内存池语义或逐块滴答的实时状态，请使用 [State Sync](/virtual-environments/state-sync)。

## 同步如何工作

Mainnet 的一次滴答会在大约 12 秒内产生一次 Virtual Environment 滴答。每次滴答都会引入下一个区块的交易，并将其应用到您 Virtual Environment 的当前状态之上。

您提交的交易会停留在 Virtual Environment 的内存池中，直到下一次同步滴答，此时它们会被**按 FIFO 顺序前置到同步区块中**。您的交易先执行；同步的 Mainnet 交易在其之后针对由此产生的状态执行。

“live” 指示灯显示 Virtual Environment 是否跟得上：

| 状态          | 含义             |
| ----------- | -------------- |
| Live        | 滴答活跃，滞后一个区块或更少 |
| Catching up | 滴答活跃，滞后超过一个区块  |
| Paused      | 滴答循环已停止        |

<Frame caption="同步状态标头：Mainnet head、Virtual Environment head 以及 Virtual Environment 当前落后于 Mainnet 的区块数。">
  <img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/testnets/06-vnet-network-sync.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=2491d8ea590edfd419ebb7bdd440f1c3" alt="Network sync status showing Mainnet head 25,239,023 and Virtual Environment head 25,237,977 with 1,046 blocks behind mainnet in orange" width="1600" height="1000" data-path="images/testnets/06-vnet-network-sync.webp" />
</Frame>

## 时间控制

时间控制条允许您相对于 Mainnet 移动 Virtual Environment 的时钟。每个控件直接对应于您也可以从自己的代码中调用的 RPC 调用：

| 控件     | RPC 调用                                                                       | 行为              |
| ------ | ---------------------------------------------------------------------------- | --------------- |
| Rewind | [`tenderly_revertSync`](/virtual-environments/admin-rpc#tenderly_revertsync) | 回退 N 个区块（默认 10） |
| Play   | [`tenderly_startSync`](/virtual-environments/admin-rpc#tenderly_startsync)   | 从当前区块恢复持续同步     |
| Pause  | [`tenderly_stopSync`](/virtual-environments/admin-rpc#tenderly_stopsync)     | 停止滴答循环          |
| Step   | [`tenderly_syncNext`](/virtual-environments/admin-rpc#tenderly_syncnext)     | 仅同步下一个区块        |

速度选择器（`1×`、`2×`、`4×`、`realtime`）映射到同步调用之间的滴答延迟（分别为 `12s`、`6s`、`3s`，以及无延迟）。

<Frame caption="时间控制条：Rewind、Sync block 和 Start auto-sync，带速度倍率（1×、2×、4×、realtime）。">
  <img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/testnets/06-vnet-network-sync.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=2491d8ea590edfd419ebb7bdd440f1c3" alt="Network sync page showing Rewind, Sync block, and Start auto-sync 1x buttons in the top-right of the status card" width="1600" height="1000" data-path="images/testnets/06-vnet-network-sync.webp" />
</Frame>

要以编程方式检查同步进度，请使用 [`tenderly_getSyncStatus`](/virtual-environments/admin-rpc#tenderly_getsyncstatus)。

## 状态漂移视图

State Drift 视图显示您的 Virtual Environment 与 Mainnet 之间发生偏离的位置。对于查找您的测试实际改动的合约或钱包很有用。

三个子视图共享同一个界面：

| 子视图     | 显示内容                   |
| ------- | ---------------------- |
| State   | 每个合约的存储槽漂移             |
| Balance | 相对于 Mainnet 的钱包和代币余额差异 |

该视图的范围限定为您正在监控的合约和钱包，加上当前会话已触及的任何合约。

<Frame caption="State Drift 选项卡：State 和 Balance 子视图，附带 Track variable 和 Track balance 控件。">
  <img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/testnets/21-network-sync-state-drift.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=81fa8c48e72fe8c7a600015000f03ada" alt="State drift view inside Network Sync, showing the State and Balance tabs and the Track variable / Track balance buttons" width="1600" height="1000" data-path="images/testnets/21-network-sync-state-drift.webp" />
</Frame>

## 区块上下文保真度

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 个已注资账户                                                      | 不创建。                                           |

完整的作弊码列表参见 [Admin RPC 参考](/virtual-environments/admin-rpc)。

## 模式比较

|                            | 标准 Virtual Environment | [State Sync](/virtual-environments/state-sync) | Network Mirror Mode |
| -------------------------- | ---------------------- | ---------------------------------------------- | ------------------- |
| 来自父网络的初始状态                 | 是（快照）                  | 是                                              | 是                   |
| 跟踪新的父网络区块                  | 否                      | 按槽、读取时                                         | 是，逐块                |
| 用户可见的内存池                   | 否                      | 否                                              | 是                   |
| 区块上下文与父网络匹配                | 否（独立时钟）                | 否                                              | 是                   |
| 作弊码通过 Admin RPC 工作         | 是                      | 是                                              | 仅在同步暂停时             |
| 时间控制（rewind / play / step） | 否                      | 否                                              | 是                   |
| 状态漂移视图                     | 否                      | 否                                              | 是                   |
| 适用于                        | 冻结时间点集成测试              | 最新预言机值、资金池状态                                   | 实时网络演练、内存池测试        |

## 已知限制

* **仅单一网络。** Network Mirror Mode 按每个 Virtual Environment 应用；目前不支持将其与多链 Virtual Environments 组合使用。

## 另请参阅

* [Admin RPC：sync 方法](/virtual-environments/admin-rpc#tenderly_startsync)
* [State Sync](/virtual-environments/state-sync)
* [Multichain Virtual Environments](/virtual-environments/multichain/overview)
