> ## 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 चलाएं जो एक live network के साथ block-दर-block sync में रहता है, एक दिखाई देने वाले mempool, time controls, और एक state-drift lens के साथ।

Network Mirror Mode एक Virtual Environment को उसके parent network के साथ लगातार संरेखित रखता है। नए mainnet blocks को उत्पादित होते ही Virtual Environment में अवशोषित कर लिया जाता है, और एक UI-visible mempool आपके द्वारा submit किए गए किसी भी transactions को इकट्ठा करता है। आपके transactions को अगले synced block में उनके आने के क्रम में जोड़ दिया जाता है।

<Note>
  Network Mirror Mode paid plan पर उपलब्ध है। इसे अपने account पर सक्षम करने के लिए, [हमारी sales team से संपर्क करें](https://tenderly.co/contact-us)।
</Note>

<Frame caption="Mirror-Mode Virtual Environment के लिए Network Sync page: block-lag chart, sync status counters, और Rewind / Sync block / Start auto-sync controls।">
  <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>

## इसका उपयोग कब करें

Network Mirror Mode का उपयोग तब करें जब आपको एक frozen fork के बजाय **live network conditions** के विरुद्ध behavior का मूल्यांकन करने की आवश्यकता हो:

* टेस्ट करें कि आपके contracts आज के oracle prices, pool reserves, या governance state के विरुद्ध कैसे व्यवहार करते हैं।
* एक transaction को stage करें और नियंत्रित करें कि यह अगले synced block के सापेक्ष कब execute हो।
* state का निरीक्षण करने के लिए live network को एक विशिष्ट block पर रोकें, फिर replay जारी रखें।
* समय के साथ mainnet baselines के विरुद्ध अपने Virtual Environment के storage और balances की तुलना करें।

यदि आपको एक frozen point-in-time fork की आवश्यकता है, तो एक मानक Virtual Environment का उपयोग करें। यदि आपको mempool semantics या block-दर-block ticking के बिना real-time state की आवश्यकता है, तो [State Sync](/virtual-environments/state-sync) का उपयोग करें।

## sync कैसे काम करता है

एक mainnet tick लगभग 12 सेकंड के भीतर एक Virtual Environment tick उत्पन्न करता है। प्रत्येक tick अगले block के transactions को लाता है और उन्हें आपके Virtual Environment के वर्तमान state पर लागू करता है।

आपके द्वारा submit किए गए Transactions Virtual Environment के mempool में अगले sync tick तक बैठते हैं, जिस बिंदु पर उन्हें **synced block में FIFO क्रम में जोड़ा जाता है**। आपके transactions पहले execute होते हैं; synced mainnet transactions उनके बाद, परिणामी state के विरुद्ध execute होते हैं।

एक "live" indicator दिखाता है कि Virtual Environment गति बनाए रख रहा है या नहीं:

| State       | अर्थ                                    |
| ----------- | --------------------------------------- |
| Live        | Tick सक्रिय, एक block या उससे कम का lag |
| Catching up | Tick सक्रिय, एक block से अधिक का lag    |
| Paused      | Tick loop रुक गया                       |

<Frame caption="Sync status header: Mainnet head, Virtual Environment head, और Virtual Environment वर्तमान में mainnet से कितने blocks पीछे है।">
  <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>

## Time controls

time-control strip आपको Virtual Environment के clock को mainnet के सापेक्ष स्थानांतरित करने देता है। प्रत्येक control सीधे एक RPC call से map होता है जिसे आप अपने कोड से भी invoke कर सकते हैं:

| Control | RPC call                                                                     | व्यवहार                                              |
| ------- | ---------------------------------------------------------------------------- | ---------------------------------------------------- |
| Rewind  | [`tenderly_revertSync`](/virtual-environments/admin-rpc#tenderly_revertsync) | N blocks (डिफ़ॉल्ट 10) को unwind करता है             |
| Play    | [`tenderly_startSync`](/virtual-environments/admin-rpc#tenderly_startsync)   | current block से continuous sync फिर से शुरू करता है |
| Pause   | [`tenderly_stopSync`](/virtual-environments/admin-rpc#tenderly_stopsync)     | tick loop रोकता है                                   |
| Step    | [`tenderly_syncNext`](/virtual-environments/admin-rpc#tenderly_syncnext)     | केवल अगला block sync करता है                         |

speed picker (`1×`, `2×`, `4×`, `realtime`) sync calls के बीच tick delay से map होता है (क्रमशः `12s`, `6s`, `3s`, और कोई delay नहीं)।

<Frame caption="Time-control strip: Rewind, Sync block, और Start auto-sync speed multiplier (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>

sync प्रगति को programmatically जाँचने के लिए, [`tenderly_getSyncStatus`](/virtual-environments/admin-rpc#tenderly_getsyncstatus) का उपयोग करें।

## State drift lens

State Drift lens दिखाता है कि आपका Virtual Environment mainnet से कहाँ diverge हुआ है। उस contract या wallet को खोजने के लिए उपयोगी जिसे आपका test वास्तव में स्थानांतरित करता है।

तीन sub-views एक surface साझा करते हैं:

| Sub-view | यह क्या दिखाता है                          |
| -------- | ------------------------------------------ |
| State    | प्रति contract Storage-slot drift          |
| Balance  | mainnet बनाम Wallet और token-balance delta |

lens आपके द्वारा देखे जा रहे contracts और wallets तथा वर्तमान session द्वारा छुए गए किसी भी contracts तक सीमित है।

<Frame caption="State Drift tab: Track variable और Track balance controls के साथ State और Balance sub-views।">
  <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>

## Block-context fidelity

Network Mirror Mode उन dimensions पर parent network के साथ one-to-one parity के लिए प्रतिबद्ध है जो सबसे अधिक अक्सर contract behavior को प्रभावित करते हैं:

* **Block-context alignment**: `block.timestamp`, `baseFee`, `coinbase`, और `prevrandao` mainnet मानों को प्रतिबिंबित करते हैं।
* **Gas-market parity**: current mainnet gas pricing आपके द्वारा submit किए गए transactions पर लागू होती है।
* **Sub-tick latency**: एक mainnet tick लगभग 12 सेकंड के भीतर एक Virtual Environment tick उत्पन्न करता है।

## Cheatcode behavior

क्योंकि Network Mirror Mode लगातार real blocks import कर रहा है, कुछ Admin RPC cheatcodes एक मानक Virtual Environment की तुलना में अलग तरह से व्यवहार करते हैं।

| व्यवहार                                                                                                | जब Virtual Environment Network Mirror Mode में हो                                   |
| ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------- |
| Admin RPC cheatcodes (`tenderly_setBalance`, `tenderly_setErc20Balance`, `tenderly_setStorageAt`, आदि) | **live sync सक्रिय होने पर अक्षम।** उनका उपयोग करने के लिए sync को रोकें।           |
| Solidity precompile cheatcodes                                                                         | काम करते हैं, लेकिन **अगले synced block boundary** पर execute होते हैं, तुरंत नहीं। |
| `tenderly_sendBlock`                                                                                   | sync सक्रिय होने पर अक्षम।                                                          |
| Virtual Environment निर्माण पर प्रारंभिक empty block                                                   | Skip किया गया।                                                                      |
| Virtual Environment निर्माण पर डिफ़ॉल्ट 10 funded accounts                                             | नहीं बनाए गए।                                                                       |

पूर्ण चीटकोड सूची के लिए [Admin RPC reference](/virtual-environments/admin-rpc) देखें।

## Mode तुलना

|                                               | Standard Virtual Environment   | [State Sync](/virtual-environments/state-sync) | Network Mirror Mode                 |
| --------------------------------------------- | ------------------------------ | ---------------------------------------------- | ----------------------------------- |
| parent network से Initial state               | हाँ (snapshot)                 | हाँ                                            | हाँ                                 |
| नए parent-network blocks को track करता है     | नहीं                           | Per-slot, read पर                              | हाँ, block-दर-block                 |
| User-visible mempool                          | नहीं                           | नहीं                                           | हाँ                                 |
| Block-context parent network से match करता है | नहीं (स्वतंत्र clock)          | नहीं                                           | हाँ                                 |
| Admin RPC पर चीटकोड्स काम करते हैं            | हाँ                            | हाँ                                            | केवल जब sync रुका हो                |
| Time controls (rewind / play / step)          | नहीं                           | नहीं                                           | हाँ                                 |
| State drift lens                              | नहीं                           | नहीं                                           | हाँ                                 |
| इसके लिए अच्छा                                | Frozen-point integration tests | Latest oracle values, pool state               | Live network रिहर्सल, mempool tests |

## ज्ञात सीमाएँ

* **केवल Single-network।** Network Mirror Mode प्रति Virtual Environment लागू होता है; इसे multichain Virtual Environments के साथ जोड़ना वर्तमान में समर्थित नहीं है।

## यह भी देखें

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