> ## 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.

# Virtual Environments

> dapp development, CI/CD, और staging के लिए एक live network को private, production जैसे testnet विकल्प में fork करें, JSON-RPC और एक visual dashboard के माध्यम से।

Virtual Environments निजी blockchain environments हैं जो एक live network को fork करते हैं और आपके नियंत्रण में एक mainnet की तरह व्यवहार करते हैं। ये आपको एक production chain की वास्तविकता (oracle prices, live pools, governance state) प्रदान करते हैं, बिना किसी लागत या जोखिम के। आप उन्हीं JSON-RPC के माध्यम से इनसे इंटरैक्ट करते हैं जो आपके tools पहले से बोलते हैं, साथ ही चीटकोड्स के लिए एक enriched Admin RPC, और block explorer वाला एक visual dashboard।

<Note>
  Virtual Environments paid plan पर उपलब्ध हैं। अपने account के लिए इन्हें सक्षम करने के लिए, [हमारी sales team से संपर्क करें](https://tenderly.co/contact-us) ताकि एक call शेड्यूल करके अपने plan को अपग्रेड करने पर चर्चा की जा सके।
</Note>

<Frame>
  <img src="https://mintcdn.com/tenderly/bHnTa-WH-G_A7Wtg/images/testnets/27-vnet-home.webp?fit=max&auto=format&n=bHnTa-WH-G_A7Wtg&q=85&s=42e6f39d617130411f3c4005bd0d766d" alt="Virtual Environment Home view showing the Integrate Virtual RPC section with Admin RPC and Public RPC endpoints, setup steps, Network Mirror, Bridge, and Contracts cards, and the attached network with chain IDs and block numbers" width="1600" height="1000" data-path="images/testnets/27-vnet-home.webp" />
</Frame>

## आप इनके साथ क्या बना सकते हैं

* **एक local node प्रतिस्थापन।** अपने dapp के प्रत्येक भाग (smart contracts, dapp UI, backend, indexing layer) को एक ऐसे network के विरुद्ध कोड, टेस्ट और डिबग करें जो mainnet state को प्रतिबिंबित करता है।
* **CI/CD infrastructure।** प्रति pull request एक ताज़ा Virtual Environment प्रोविज़न करें, अपने contracts deploy करें, अपने tests चलाएं, और इसे नष्ट कर दें। [GitHub Actions गाइड्स](/virtual-environments/ci-cd/github-actions-foundry) पैटर्न को कवर करते हैं।
* **Staging और demo environments।** manual QA, community testing, कॉन्ट्रैक्ट audits, या sales demos के लिए एक forked mainnet के विरुद्ध पूरे dapp को चलाएं। समीक्षक एक real block explorer देखते हैं; आप real funds नहीं हिलाते।
* **Cross-chain testing।** एक Virtual Environment के साथ कई networks जोड़ें और bridge flows का end-to-end अभ्यास करें। [Multichain Quickstart](/virtual-environments/multichain/quickstart) setup के बारे में बताता है।

## Virtual Environments की तुलना public testnets से कैसे होती है?

Sepolia और Holesky जैसे public testnets अपनी अलग chain state चलाते हैं, इसलिए उनमें mainnet liquidity, live oracle prices, और आपके dapp पर निर्भर deployed protocols नहीं होते। इसके बजाय एक Virtual Environment mainnet (या 100+ networks में से कोई भी) को fork करता है, इसलिए आप real production state के विरुद्ध test करते हैं, faucet funds के साथ जो कभी खत्म नहीं होते, और account balances, block number, और time पर पूर्ण नियंत्रण के साथ। एक public testnet के विपरीत, यह आपकी team के लिए निजी रहता है और प्रति pull request बनाया और नष्ट किया जा सकता है।

## यहाँ से शुरू करें

<CardGroup cols={2}>
  <Card title="Quickstart" href="/virtual-environments/quickstart">
    अपना पहला Virtual Environment लॉन्च करें, एक account को fund करें, और एक transaction भेजें।
  </Card>

  <Card title="Multichain Quickstart" href="/virtual-environments/multichain/quickstart">
    एक Virtual Environment सेट करें जो कई networks में फैला हो और automatic bridge relay के साथ एक cross-chain transaction चलाएं।
  </Card>
</CardGroup>

## Network sync modes

प्रत्येक Virtual Environment में एक network sync mode होता है जो नियंत्रित करता है कि निर्माण के बाद यह अपने parent network से कैसे संबंधित है:

* **Static** (डिफ़ॉल्ट): Virtual Environment forked block head पर बना रहता है, parent network से कोई live updates नहीं। State केवल आपके अपने transactions और चीटकोड्स के माध्यम से बदलती है।
* **State Only Sync**: Storage slots live parent-network मानों को ट्रैक करते रहते हैं जब तक कि आपका Virtual Environment उन पर write नहीं करता। देखें [State Sync](/virtual-environments/state-sync)।
* **Network Mirror**: parent network का आपके Virtual Environment पर पूर्ण block-by-block replay, एक दिखाई देने वाले mempool और time controls के साथ। देखें [Network Mirror Mode](/virtual-environments/network-mirror-mode)।

Sync mode निर्माण के समय तय होता है और बाद में बदला नहीं जा सकता, चाहे dashboard से हो या API से। एक अलग mode का उपयोग करने के लिए, एक नया Virtual Environment बनाएं।

## निर्माण खंड

ये पेज बताते हैं कि Virtual Environment का प्रत्येक भाग क्या करता है और यह दूसरों से कैसे संबंधित है। कुछ डिबग करने की आवश्यकता से पहले इन्हें पढ़ें।

<CardGroup cols={3}>
  <Card title="Explorer" href="/virtual-environments/explorer">
    एक परिचित block-explorer UI के माध्यम से अपने Virtual Environment पर transactions, contracts, wallets, और RPC calls का निरीक्षण करें।
  </Card>

  <Card title="Unlimited Faucet" href="/virtual-environments/unlimited-faucet">
    किसी भी account पर native currency या ERC-20 balances टॉप-अप करें, बिना किसी real funds की आवश्यकता के।
  </Card>

  <Card title="State Sync" href="/virtual-environments/state-sync">
    storage slots को live mainnet मानों को ट्रैक करते रखें जब तक कि आपका Virtual Environment उन पर write नहीं करता।
  </Card>

  <Card title="Network Mirror Mode" href="/virtual-environments/network-mirror-mode">
    parent network के साथ block-दर-block संरेखित रहें, एक दिखाई देने वाले mempool और time controls के साथ।
  </Card>

  <Card title="Named RPC URLs" href="/virtual-environments/named-rpc-urls">
    एक environment के RPC URL से एक fixed, human-readable नाम जोड़ें ताकि यह re-forks के बाद भी बना रहे।
  </Card>

  <Card title="Multichain Virtual Environments" href="/virtual-environments/multichain/overview">
    एक Virtual Environment, कई networks, साझा पहचान, एकीकृत timeline।
  </Card>

  <Card title="Bridges" href="/virtual-environments/multichain/bridges">
    Multichain Virtual Environment में networks के बीच LayerZero, Chainlink CCIP, और Across के लिए automatic relay।
  </Card>
</CardGroup>

## आप Virtual Environment के साथ कैसे इंटरैक्ट करते हैं

आप एक Virtual Environment को चार surfaces के माध्यम से चलाते हैं:

* **Tenderly Dashboard**, जहाँ आप Virtual Environment बनाते हैं, transactions ब्राउज़ करते हैं, accounts को fund करते हैं, environment के वर्तमान state के विरुद्ध transactions सिमुलेट करते हैं, और settings कॉन्फ़िगर करते हैं।
* **Public RPC**, एक मानक JSON-RPC endpoint जो उन मेथड्स का समर्थन करता है जिन्हें कोई भी dapp या library पहले से कॉल करती है। इसे अपने dapp UI, backend, और कुछ भी उपयोग करें जिसे आप बाहरी परीक्षकों को उजागर करेंगे।
* **Admin RPC**, एक enriched JSON-RPC endpoint जो balances सेट करने, storage को override करने, time को fast-forward करने, arbitrary bytecode deploy करने, और live network के साथ synchronise करने के लिए चीटकोड्स जोड़ता है। इसे अपने dev tooling और tests से उपयोग करें, बाहरी रूप से पहुँच योग्य किसी भी चीज़ से नहीं। चीटकोड्स का पूरा सेट [Admin RPC reference](/virtual-environments/admin-rpc) में दस्तावेज़ित है।
* **REST API**, scripts और CI pipelines से Virtual Environments बनाने, fork करने, और हटाने के लिए। देखें [REST API reference](/virtual-environments/rest-api); [GitHub Actions guides](/virtual-environments/ci-cd/github-actions-foundry) इसे pull-request workflows के लिए रैप करते हैं।

<Warning>
  जब आप बाहरी परीक्षकों के साथ Virtual Environment साझा करते हैं या इसे dapp UI के माध्यम से उजागर करते हैं, तो Public RPC सौंपें, न कि Admin RPC। Admin RPC caller को balances, storage, time, और अन्य network state को इस तरह से बदलने देता है जो आपके tests को तोड़ सकता है।
</Warning>

## सामान्य कार्य

<CardGroup cols={3}>
  <Card title="wallet में जोड़ें" href="/virtual-environments/interact/add-to-wallet">
    MetaMask या किसी अन्य wallet को अपने Virtual Environment से कनेक्ट करें।
  </Card>

  <Card title="अपने tooling को कनेक्ट करें" href="/virtual-environments/integrations">
    Foundry, Hardhat, ethers, viem, या अपने dapp UI को अपने Virtual Environment RPC पर पॉइंट करें।
  </Card>

  <Card title="contracts deploy और verify करें" href="/virtual-environments/develop/deploy-contracts">
    Foundry या Hardhat के साथ deploy करें, स्वचालित कॉन्ट्रैक्ट verification के साथ।
  </Card>

  <Card title="transactions सिमुलेट करें" href="/virtual-environments/interact/simulate-transactions">
    transactions भेजने से पहले Virtual Environment के वर्तमान state के विरुद्ध dry-run करें।
  </Card>

  <Card title="Virtual Environment fork करें" href="/virtual-environments/develop/fork-testnet">
    मौजूदा Virtual Environment को उसके वर्तमान state पर एक नए Virtual Environment में शाखा करें।
  </Card>

  <Card title="state वापस करें" href="/virtual-environments/develop/revert-state">
    snapshots लें और Virtual Environment को उन पर वापस रोल करें।
  </Card>
</CardGroup>

## समर्थित networks

Virtual Environments 100+ EVM networks पर काम करते हैं। पूरी सूची के लिए [supported networks](/platform/supported-networks) देखें।

## यह भी देखें

* [Quickstart](/virtual-environments/quickstart) आपके पहले Virtual Environment के लिए, end-to-end।
* [Stage contracts](/virtual-environments/ci-cd/stage-contracts) अपनी team के साथ Virtual Environment साझा करने के लिए।
* [Admin RPC](/virtual-environments/admin-rpc) और [REST API](/virtual-environments/rest-api) संदर्भ सामग्री के लिए।
* [Solidity Cheatcodes](/virtual-environments/precompiles) Virtual Environment precompile के माध्यम से transaction के अंदर से state को manipulate करने के लिए।
