Skip to main content
Network Mirror Mode постоянно поддерживает Virtual Environment выровненной с её родительской сетью. Новые блоки mainnet поглощаются в Virtual Environment по мере их появления, а mempool, видимый в UI, собирает все транзакции, которые вы отправляете. Ваши транзакции добавляются в начало следующего синхронизированного блока в порядке поступления.
Network Mirror Mode доступен на платном тарифе. Чтобы включить его для вашего аккаунта, свяжитесь с отделом продаж.
Network Sync page showing sync status counters, block-lag chart, time controls, and a sync-operations table with tenderly_startSync and tenderly_stopSync entries

Страница Network Sync для Virtual Environment в режиме Mirror: график отставания в блоках, счётчики статуса синхронизации и элементы управления Rewind / Sync block / Start auto-sync.

Когда его использовать

Используйте Network Mirror Mode, когда нужно оценить поведение при живых сетевых условиях, а не на замороженном форке:
  • Тестируйте, как ваши контракты ведут себя при сегодняшних ценах оракулов, резервах пулов или состоянии управления.
  • Разместите транзакцию и контролируйте, когда она исполнится относительно следующего синхронизированного блока.
  • Приостановите живую сеть на конкретном блоке, чтобы изучить состояние, и продолжите воспроизведение.
  • Сравнивайте хранилище и балансы вашей Virtual Environment с базовыми значениями mainnet с течением времени.
  • Сделайте форк на прошлом блоке и воспроизведите реальную историю вперёд, например чтобы провести бэктест реализованной доходности позиции в токене.
Если вам нужен замороженный форк на конкретный момент времени, используйте стандартную Virtual Environment. Если нужно состояние в реальном времени без семантики mempool или поблочного тикания, используйте State Sync.

Как работает синхронизация

Тик mainnet вызывает тик Virtual Environment примерно за 12 секунд. Каждый тик вносит транзакции следующего блока и применяет их поверх текущего состояния вашей Virtual Environment. Транзакции, которые вы отправляете, находятся в mempool Virtual Environment до следующего тика синхронизации, после чего они добавляются в начало синхронизированного блока в порядке FIFO. Ваши транзакции исполняются первыми; синхронизированные транзакции mainnet исполняются после них, на основе полученного состояния. Индикатор «live» показывает, поспевает ли Virtual Environment:
Network sync status counters showing Mainnet head 25,644,372, Virtual Environment head 25,634,318, and 10,054 blocks behind mainnet in orange

Заголовок статуса синхронизации: голова Mainnet, голова Virtual Environment и на сколько блоков Virtual Environment сейчас отстаёт от mainnet.

Управление временем

Полоса управления временем позволяет двигать часы Virtual Environment относительно mainnet. Каждый элемент управления соответствует RPC-вызову, который можно вызвать и из вашего кода: Выбор скорости (0.5×, , , ) задаёт задержку тика между вызовами синхронизации (24s, 12s, 6s, 3s на блок соответственно); соответствует темпу mainnet.
Rewind, Sync block, and Start auto-sync buttons with the speed menu open showing 0.5x, 1x mainnet pace, 2x, and 4x options

Полоса управления временем: Rewind, Sync block и Start auto-sync с множителем скорости (0.5×, 1×, 2×, 4×).

Чтобы программно проверить прогресс синхронизации, используйте tenderly_getSyncStatus.

Линза отклонения состояния

Линза State Drift показывает, где ваша Virtual Environment разошлась с mainnet. Удобно для поиска контракта или кошелька, который на самом деле затронул ваш тест. Два подраздела делят одну поверхность: Линза ограничена контрактами и кошельками, за которыми вы следите, плюс любыми контрактами, которых коснулась текущая сессия.
State drift view inside Network Sync, showing the State and Balance tabs and the Track variable / Track balance buttons

Вкладка State Drift: подразделы State и Balance с элементами Track variable и Track balance.

Точность блочного контекста

Network Mirror Mode гарантирует один-к-одному соответствие с родительской сетью по параметрам, которые чаще всего влияют на поведение контрактов:
  • Согласование блочного контекста: block.timestamp, baseFee, coinbase и prevrandao отражают значения mainnet.
  • Паритет рынка газа: к транзакциям, которые вы отправляете, применяется текущая цена газа mainnet.
  • Задержка меньше тика: тик mainnet вызывает тик Virtual Environment примерно за 12 секунд.

Поведение чит-кодов

Поскольку Network Mirror Mode постоянно импортирует реальные блоки, некоторые чит-коды Admin RPC ведут себя иначе, чем в стандартной Virtual Environment. Полный список чит-кодов см. в справочнике Admin RPC.

Сравнение режимов

Известные ограничения

  • Только одна сеть. Network Mirror Mode применяется к отдельной Virtual Environment; совмещение с multichain Virtual Environments в настоящее время не поддерживается.

См. также