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

# The Graph और Virtual Environments

> Tenderly Virtual Environments को The Graph के साथ setup और उपयोग करने के लिए गाइड।

यह गाइड The Graph के साथ Tenderly Virtual Environments को setup और उपयोग करने के लिए विस्तृत चरण प्रदान करती है।

Virtual Environments के साथ The Graph का उपयोग करने के लिए, आपको अपना स्वयं का Graph node चलाना होगा। यदि आप अपना dapp stage कर रहे हैं, तो आपके पास आपके पसंदीदा cloud provider पर होस्ट किया गया The Graph instance होना चाहिए।

## पूर्वापेक्षाएँ

सुनिश्चित करें कि आपके सिस्टम पर निम्न पूर्वापेक्षाएँ स्थापित हैं:

* Node.js और npm
* Docker
* एक [Tenderly account](https://dashboard.tenderly.co/login?redirectTo=testnets)
* एक Virtual Environment RPC
* [Hardhat](/virtual-environments/develop/deploy-contracts#hardhat) या [Foundry](/virtual-environments/develop/deploy-contracts#foundry) का उपयोग करके Virtual Environment पर deploy किया गया एक smart contract

## The Graph सेट करें

<Steps>
  ### Graph CLI को Globally स्थापित करें

  npm का उपयोग करके अपने सिस्टम पर Graph CLI को globally स्थापित करें:

  ```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  npm install -g @graphprotocol/graph-cli
  ```

  अधिक विवरण के लिए आधिकारिक [Graph CLI documentation](https://thegraph.com/docs/en/developer/cli/) देखें।

  ### The Graph project सेट करें

  अपनी project directory के अंदर, The Graph project को initialize करें।

  नोट्स:

  * अपने local system पर contract ABI को पॉइंट करने के लिए `--abi` को अनुकूलित करें
  * `--contract-name` और `--from-contract` को क्रमशः contract नाम और address के साथ संशोधित करें
  * `--start-block` सेट करें
  * `--network` को इस तरह बदलें कि यह उस network को संदर्भित करे जिस पर आपने अपना Virtual Environment आधारित किया है (जैसे `mainnet`, `base`, आदि)।

  <Note>
    हम सुझाव देते हैं कि `network` मूल network के नाम से match करे, इसे `virtual_` के रूप में लेबल किए बिना। यह विभिन्न staging और demoing environments पर deploy करते समय RPCs को आसानी से switch करने में सक्षम बनाता है।
  </Note>

  ```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  graph init your-subgraph-name subgraph-dir \
  --protocol ethereum \
  --studio \
  --abi path/to/abi/ERC20Token.json \
  --contract-name ERC20TokenFactory \
  --from-contract 0x7F2Fa32C991fD2F8dF3EB23C394f550376e9b30d \
  --start-block 0 \
  --network mainnet
  ```

  <Card title="Graph Initialization documentation" href="" />

  ### `docker-compose.yml` अपडेट करें

  `docker-compose.yml` file (नीचे) को edit करें और `environment.ethereum` को अपडेट करें ताकि यह Virtual Environment RPC को संदर्भित करे।

  ```yaml showLineNumbers lines={15} theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  version: '3'
  services:
    graph-node:
      image: graphprotocol/graph-node
      ports:
        - '8020:8020'
        - '8000:8000'
        - '5001:5001'
      environment:
        postgres_host: postgres
        postgres_user: graph-node
        postgres_pass: let-me-in
        postgres_db: graph-node
        ipfs: 'ipfs:5001'
        ethereum: 'mainnet:https://virtual.mainnet.rpc.tenderly.co/d0a6...-40..2c-81..0f-a5..90'
  ```

  <Card title="Graph Docker documentation" href="" />

  ### Docker Compose को locally चलाएं

  docker-compose config को सेट करने के बाद, निम्न चलाएं:

  ```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  docker-compose up
  ```

  ### अपना subgraph बनाएं और deploy करें

  निम्न commands चलाएं, `your-subgraph-name` को अपने subgraph के लिए इच्छित नाम से बदलें।

  ```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  graph codegen
  graph create --node http://localhost:8020 your-subgraph-name
  graph deploy --node http://localhost:8020 --ipfs http://localhost:5001 your-subgraph-name
  ```

  <Card title="Graph Deployment documentation" href="" />

  ### subgraph तक पहुँचें

  Deployment के बाद, नीचे दिए गए URL के माध्यम से अपने subgraph तक पहुँचें। subgraph तक पहुँचने और queries चलाने के लिए इस URL को अपने browser में खोलें:

  `Deployed to http://localhost:8000/subgraphs/name/your-subgraph-name`

  <Card title="Graph Query documentation" href="" />

  ### Cloud पर Deploy करें

  dapp staging के लिए, The Graph node को अपने पसंदीदा cloud provider पर deploy करें, और querying के लिए अपने dapp UI/backend को उस node से कनेक्ट करें।
</Steps>
