मुख्य सामग्री पर जाएं
Network Mirror Mode एक Virtual Environment को उसके parent network के साथ लगातार संरेखित रखता है। नए mainnet blocks को उत्पादित होते ही Virtual Environment में अवशोषित कर लिया जाता है, और एक UI-visible mempool आपके द्वारा submit किए गए किसी भी transactions को इकट्ठा करता है। आपके transactions को अगले synced block में उनके आने के क्रम में जोड़ दिया जाता है।
Network Mirror Mode paid plan पर उपलब्ध है। इसे अपने account पर सक्षम करने के लिए, हमारी sales team से संपर्क करें
Network sync status panel showing Mainnet head vs Virtual Environment head block numbers, block lag chart, and time-control buttons

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

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 का उपयोग करें।

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अर्थ
LiveTick सक्रिय, एक block या उससे कम का lag
Catching upTick सक्रिय, एक block से अधिक का lag
PausedTick loop रुक गया
Network sync status showing Mainnet head 25,239,023 and Virtual Environment head 25,237,977 with 1,046 blocks behind mainnet in orange

Time controls

time-control strip आपको Virtual Environment के clock को mainnet के सापेक्ष स्थानांतरित करने देता है। प्रत्येक control सीधे एक RPC call से map होता है जिसे आप अपने कोड से भी invoke कर सकते हैं:
ControlRPC callव्यवहार
Rewindtenderly_revertSyncN blocks (डिफ़ॉल्ट 10) को unwind करता है
Playtenderly_startSynccurrent block से continuous sync फिर से शुरू करता है
Pausetenderly_stopSynctick loop रोकता है
Steptenderly_syncNextकेवल अगला block sync करता है
speed picker (, , , realtime) sync calls के बीच tick delay से map होता है (क्रमशः 12s, 6s, 3s, और कोई delay नहीं)।
Network sync page showing Rewind, Sync block, and Start auto-sync 1x buttons in the top-right of the status card
sync प्रगति को programmatically जाँचने के लिए, 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
Balancemainnet बनाम Wallet और token-balance delta
lens आपके द्वारा देखे जा रहे contracts और wallets तथा वर्तमान session द्वारा छुए गए किसी भी contracts तक सीमित है।
State drift view inside Network Sync, showing the State and Balance tabs and the Track variable / Track balance buttons

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_sendBlocksync सक्रिय होने पर अक्षम।
Virtual Environment निर्माण पर प्रारंभिक empty blockSkip किया गया।
Virtual Environment निर्माण पर डिफ़ॉल्ट 10 funded accountsनहीं बनाए गए।
पूर्ण चीटकोड सूची के लिए Admin RPC reference देखें।

Mode तुलना

Standard Virtual EnvironmentState SyncNetwork 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 testsLatest oracle values, pool stateLive network रिहर्सल, mempool tests

ज्ञात सीमाएँ

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

यह भी देखें