Docs
खोज⌘ K
  • Home
  • The Graph के बारे में
  • समर्थित नेटवर्क
  • Protocol Contracts
  • सबग्राफ
    • सबस्ट्रीम
      • टोकन API
        • AI Suite
          • Overview
          • Indexer टूलिंग
            • GraphTally Guide
            • Supported Network Requirements
            • Chain Integration Process Overview
            • नई श्रृंखला एकीकरण
            • संसाधन
              सबग्राफ > How-to Guides

              9 मिनट

              NEAR पर सबग्राफ बनाना

              यह गाइड NEAR ब्लॉकचेन⁠ पर स्मार्ट contract को इंडेक्स करने वाले Subgraphs बनाने की एक परिचयात्मक गाइड है।सबग्राफ

              NEAR क्या है?

              NEAR⁠ एक स्मार्ट contract प्लेटफ़ॉर्म है जो विकेंद्रीकृत applications बनाने के लिए है। अधिक जानकारी के लिए official documentation⁠ देखें।

              NEAR Subgraphs क्या हैं?

              The Graph डेवलपर्स को ब्लॉकचेन इवेंट्स को प्रोसेस करने और परिणामी डेटा को आसानी से एक GraphQL API के माध्यम से उपलब्ध कराने के टूल्स देता है, जिसे व्यक्तिगत रूप से एक सबग्राफ के रूप में जाना जाता है। Graph Node⁠ अब NEAR इवेंट्स को प्रोसेस करने में सक्षम है, जिसका अर्थ है कि NEAR डेवलपर्स अब अपने स्मार्ट contract को इंडेक्स करने के लिए Subgraphs बना सकते हैं।

              सबग्राफ इवेंट-आधारित होते हैं, जिसका अर्थ है कि वे ऑनचेन इवेंट्स को सुनते हैं और फिर उन्हें प्रोसेस करते हैं। वर्तमान में, NEAR सबग्राफ के लिए दो प्रकार के handlers समर्थित हैं:

              • ब्लॉक हैंडलर्स: ये हर नए ब्लॉक पर चलते हैं
              • रसीद हैंडलर: किसी निर्दिष्ट खाते पर संदेश निष्पादित होने पर हर बार चलें

              NEAR दस्तावेज़ से:⁠

              रसीद सिस्टम में एकमात्र कार्रवाई योग्य वस्तु है। जब हम NEAR प्लेटफॉर्म पर “एक लेन-देन को संसाधित करने” के बारे में बात करते हैं, तो अंततः इसका अर्थ किसी बिंदु पर “रसीदें लागू करना” होता है।

              NEAR सबग्राफ बनाना

              @graphprotocol/graph-cli एक कमांड-लाइन टूल है जो सबग्राफ बनाने और डिप्लॉय करने के लिए उपयोग किया जाता है।

              @graphprotocol/graph-ts एक लाइब्रेरी है जो सबग्राफ-विशिष्ट प्रकार प्रदान करती है।

              NEAR सबग्राफ विकास के लिए graph-cli का संस्करण 0.23.0 से ऊपर और graph-ts का संस्करण 0.23.0 से ऊपर होना आवश्यक है।

              NEAR सबग्राफ बनाना Ethereum को इंडेक्स करने वाले सबग्राफ बनाने के समान ही है।

              सबग्राफ परिभाषा के तीन पहलू हैं:

              subgraph.yaml: सबग्राफ मैनिफेस्ट, जो आवश्यक डेटा स्रोतों को परिभाषित करता है और उन्हें कैसे प्रोसेस किया जाना चाहिए। NEAR एक नया kind का डेटा स्रोत है।

              schema.graphql: एक स्कीमा फ़ाइल है जो यह परिभाषित करती है कि आपके सबग्राफ के लिए कौन सा डेटा संग्रहीत किया जाता है और इसे GraphQL के माध्यम से कैसे क्वेरी किया जाए। NEAR सबग्राफ के लिए आवश्यकताओं को मौजूदा दस्तावेज़ीकरण द्वारा कवर किया गया है।

              असेम्बलीस्क्रिप्ट मैपिंग्स: AssemblyScript code जो इवेंट डेटा से आपके स्कीमा में परिभाषित एंटिटीज़ में अनुवाद करता है। NEAR समर्थन NEAR-विशिष्ट डेटा प्रकार और नई JSON पार्सिंग कार्यक्षमता पेश करता है।

              Subgraph को बनाते वक़्त दो मुख्य कमांड हैं:

              1$ graph codegen # generates types from the schema file identified in the manifest2$ graph build # generates Web Assembly from the AssemblyScript files, and prepares all the subgraph files in a /build folder

              सब ग्राफ मैनिफेस्ट की परिभाषा

              सबग्राफ manifest (subgraph.yaml) उन डेटा स्रोतों की पहचान करता है जो सबग्राफ के लिए आवश्यक हैं, उन ट्रिगर्स को निर्दिष्ट करता है जिनमें रुचि है, और उन फ़ंक्शनों को परिभाषित करता है जिन्हें उन ट्रिगर्स के जवाब में चलाया जाना चाहिए। नीचे NEAR सबग्राफ के लिए एक उदाहरण सबग्राफ manifest दिया गया है:

              1specVersion: 1.3.02schema:3  file: ./src/schema.graphql # link to the schema file4dataSources:5  - kind: near6    network: near-mainnet7    source:8      account: app.good-morning.near # This data source will monitor this account9      startBlock: 10662188 # Required for NEAR10    mapping:11      apiVersion: 0.0.912      language: wasm/assemblyscript13      blockHandlers:14        - handler: handleNewBlock # the function name in the mapping file15      receiptHandlers:16        - handler: handleReceipt # the function name in the mapping file17      file: ./src/mapping.ts # link to the file with the Assemblyscript mappings
              • NEAR सबग्राफ ने एक नए kind का data source (near) पेश किया है।
              • network को होस्टिंग ग्राफ-नोड पर एक नेटवर्क से मेल खाना चाहिए। सबग्राफ Studio पर, NEAR का मेननेट near-mainnet है, और NEAR का टेस्टनेट near-testnet है।
              • NEAR डेटा स्रोतों में एक वैकल्पिक source.account फ़ील्ड पेश किया गया है, जो एक मानव-पठनीय आईडी है जो एक NEAR खाता⁠ से मेल खाती है। यह एक खाता या एक उप-खाता हो सकता है।
              • NEAR डेटा स्रोत वैकल्पिक source.accounts फ़ील्ड पेश करते हैं, जिसमें वैकल्पिक उपसर्ग और प्रत्यय होते हैं। कम से कम उपसर्ग या प्रत्यय में से एक निर्दिष्ट किया जाना चाहिए, ये किसी भी खाते से मेल खाएंगे जो सूचीबद्ध मानों से शुरू या समाप्त होता है। नीचे दिया गया उदाहरण निम्नलिखित के लिए मेल खाएगा: [app|good].*[morning.near|morning.testnet]। यदि केवल उपसर्ग या प्रत्ययों की सूची आवश्यक हो तो दूसरा फ़ील्ड हटा दिया जा सकता है।
              1accounts:2  prefixes:3    - app4    - good5  suffixes:6    - morning.near7    - morning.testnet

              NEAR डेटा स्रोत दो प्रकार के हैंडलर का समर्थन करते हैं:

              • blockHandlers: हर नए NEAR ब्लॉक पर चलते हैं। कोई source.account आवश्यक नहीं है।
              • Here’s the translation of the provided text into Hindi: receiptHandlers: हर रिसीट पर तब चलाए जाते हैं जब डेटा स्रोत का source.account प्राप्तकर्ता हो। ध्यान दें कि केवल बिल्कुल मिलान वाले ही प्रोसेस किए जाते हैं (subaccounts⁠ को स्वतंत्र डेटा स्रोत के रूप में जोड़ा जाना चाहिए)।

              स्कीमा की परिभाषा

              Schema परिभाषा परिणामस्वरूप बनने वाले सबग्राफ डेटाबेस की संरचना और इकाइयों के बीच संबंधों का वर्णन करती है। यह मूल डेटा स्रोत से स्वतंत्र होती है। सबग्राफ schema परिभाषा के बारे में अधिक विवरण यहाँ उपलब्ध हैं।

              असेंबली स्क्रिप्ट मैप्पिंग्स

              आयोजन को प्रोसेस करने के लिए handlerAssemblyScript⁠ में लिखे गए हैं।

              NEAR इंडेक्सिंग AssemblyScript API में NEAR-विशिष्ट डेटा प्रकारों को पेश करती है।

              1class ExecutionOutcome {2      gasBurnt: u64,3      blockHash: Bytes,4      id: Bytes,5      logs: Array<string>,6      receiptIds: Array<Bytes>,7      tokensBurnt: BigInt,8      executorId: string,9  }1011class ActionReceipt {12      predecessorId: string,13      receiverId: string,14      id: CryptoHash,15      signerId: string,16      gasPrice: BigInt,17      outputDataReceivers: Array<DataReceiver>,18      inputDataIds: Array<CryptoHash>,19      actions: Array<ActionValue>,20  }2122class BlockHeader {23      height: u64,24      prevHeight: u64,// हमेशा शून्य जब संस्करण < V325      epochId: Bytes,26      nextEpochId: Bytes,27      chunksIncluded: u64,28      hash: Bytes,29      prevHash: Bytes,30      timestampNanosec: u64,31      randomValue: Bytes,32      gasPrice: BigInt,33      totalSupply: BigInt,34      latestProtocolVersion: u32,35  }3637class ChunkHeader {38      gasUsed: u64,39      gasLimit: u64,40      shardId: u64,41      chunkHash: Bytes,42      prevBlockHash: Bytes,43      balanceBurnt: BigInt,44  }4546class Block {47      author: string,48      header: BlockHeader,49      chunks: Array<ChunkHeader>,50  }5152class ReceiptWithOutcome {53      outcome: ExecutionOutcome,54      receipt: ActionReceipt,55      block: Block,56  }

              ये प्रकार block और receipt handlers को पास किए जाते हैं:

              • ब्लॉक handler को एक Block प्राप्त होगा।
              • रसीद handler को ReceiptWithOutcome प्राप्त होगा।

              अन्यथा, शेष AssemblyScript API NEAR सबग्राफ डेवलपर्स के लिए मैपिंग निष्पादन के दौरान उपलब्ध है।

              यह एक नई JSON पार्सिंग फ़ंक्शन शामिल करता है - NEAR पर अक्सर stringified JSONs के रूप में लॉग्स जारी किए जाते हैं। एक नया json.fromString(...) फ़ंक्शन JSON API के रूप में उपलब्ध है, जो डेवलपर्स को इन लॉग्स को आसानी से प्रोसेस करने की अनुमति देता है।

              एक NEAR सबग्राफ की तैनाती

              एक बार जब आपने सबग्राफ बना लिया है, तो इसे ग्राफ-नोड पर Indexing के लिए डिप्लॉय करने का समय आ गया है। NEAR सबग्राफ को किसी भी ग्राफ-नोड >=v0.26.x पर डिप्लॉय किया जा सकता है (यह संस्करण अभी तक टैग और जारी नहीं किया गया है)।

              Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names:

              • near-mainnet
              • near-testnet

              More information on सबग्राफ Studio पर सबग्राफ बनाने और तैनात करने के बारे में यहाँ पाया जा सकता है।

              पहला कदम आपका सबग्राफ “बनाना” है - यह केवल एक बार करने की आवश्यकता होती है। सबग्राफ Studio पर, इसे आपके डैशबोर्ड से किया जा सकता है: “एक बनाएँ सबग्राफ ”।

              एक बार जब आपका सबग्राफ बना लिया जाता है, तो आप graph deploy CLI कमांड का उपयोग करके अपने सबग्राफ को डिप्लॉय कर सकते हैं।

              1$ graph create --node <graph-node-url> <subgraph-name> # एक स्थानीय ग्राफ-नोड पर सबग्राफ बनाता है (सबग्राफ Studio पर, यह UI के माध्यम से किया जाता है)2$ graph deploy --node <graph-node-url> --ipfs https://ipfs.thegraph.com <subgraph-name> # निर्मित फ़ाइलों को निर्दिष्ट IPFS endpoint पर अपलोड करता है, और फिर manifest IPFS hash के आधार पर निर्दिष्ट ग्राफ-नोड पर सबग्राफ को डिप्लॉय करता है

              नोड कॉन्फ़िगरेशन इस बात पर निर्भर करेगा कि सबग्राफ कहाँ तैनात किया जा रहा है।

              Subgraph Studio

              1graph auth2graph deploy <subgraph-name>

              स्थानीय ग्राफ़ नोड (डिफ़ॉल्ट कॉन्फ़िगरेशन पर आधारित)

              1graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 <subgraph-name>

              एक बार जब आपका सबग्राफ डिप्लॉय हो जाता है, तो इसे ग्राफ-नोड द्वारा इंडेक्स किया जाएगा। आप खुद सबग्राफ को क्वेरी करके इसकी प्रगति की जांच कर सकते हैं।

              1{2  _meta {3    block {4      number5    }6  }7}

              एक स्थानीय ग्राफ़ नोड के साथ NEAR को अनुक्रमणित करना

              NEAR को अनुक्रमित करने वाले ग्राफ़ नोड को चलाने के लिए निम्नलिखित परिचालन आवश्यकताएँ हैं:

              • Firehose इंस्ट्रूमेंटेशन के साथ NEAR इंडेक्सर फ्रेमवर्क
              • NEAR Firehose कंपोनेंट्(स)
              • Firehose एंडपॉइन्ट के साथ ग्राफ़ नोड कॉन्फ़िगर किया गया

              हम जल्द ही उपरोक्त कंपोनेंट्स को चलाने के बारे में और जानकारी प्रदान करेंगे।

              NEAR सबग्राफ को क्वेरी करना

              NEAR Subgraphs के लिए GraphQL एंडपॉइंट स्कीमा परिभाषा द्वारा निर्धारित किया जाता है, जिसमें मौजूदा API इंटरफेस शामिल होता है। अधिक जानकारी के लिए कृपया GraphQL API दस्तावेज़ देखें।

              सब-ग्राफ के उदाहरण

              यहाँ कुछ उदाहरण सबग्राफ संदर्भ के लिए दिए गए हैं:

              NEAR Blocks⁠

              NEAR Receipts⁠

              FAQ

              बीटा कैसे काम करता है?

              NEAR समर्थन बीटा में है, जिसका अर्थ है कि जैसे-जैसे हम एकीकरण को बेहतर बनाने पर काम कर रहे हैं, API में परिवर्तन हो सकते हैं। कृपया हमें [email protected]⁠ पर ईमेल करें ताकि हम आपको NEAR सबग्राफ बनाने में सहायता कर सकें और आपको नवीनतम विकास से अपडेट रख सकें!

              क्या सबग्राफ दोनों NEAR और EVM चेन को इंडेक्स कर सकता है?

              नहीं, एक सब-ग्राफ केवल एक चेन/नेटवर्क से डाटा सोर्स को सपोर्ट कर सकता है

              क्या सबग्राफ अधिक विशिष्ट ट्रिगर्स पर प्रतिक्रिया कर सकते हैं?

              वर्तमान में, केवल अवरोधित करें और प्राप्त करें ट्रिगर समर्थित हैं। हम एक निर्दिष्ट खाते में फ़ंक्शन कॉल के लिए ट्रिगर्स की जांच कर रहे हैं। एक बार जब NEAR को नेटिव ईवेंट समर्थन मिल जाता है, तो हम ईवेंट ट्रिगर्स का समर्थन करने में भी रुचि रखते हैं।

              क्या रसीद हैंडलर खातों और उनके उप-खातों के लिए ट्रिगर करेंगे?

              यदि कोई account निर्दिष्ट किया गया है, तो यह केवल सटीक खाता नाम से मेल खाएगा। उप-खातों से मेल करना संभव है यदि accounts फ़ील्ड निर्दिष्ट की गई हो, जिसमें suffixes और prefixes शामिल हों ताकि खाते और उप-खाते मेल खा सकें। उदाहरण के लिए, निम्नलिखित सभी mintbase1.near उप-खातों से मेल खाएगा:

              1accounts:2  suffixes:3    - mintbase1.near

              क्या NEAR सबग्राफमैपिंग्स के दौरान NEAR खातों पर view कॉल कर सकते हैं?

              यह समर्थित नहीं है। हम मूल्यांकन कर रहे हैं कि अनुक्रमण के लिए यह कार्यक्षमता आवश्यक है या नहीं।

              क्या मैं अपने NEAR सबग्राफ में data source templates का उपयोग कर सकता हूँ?

              यह वर्तमान में समर्थित नहीं है। हम मूल्यांकन कर रहे हैं कि अनुक्रमण के लिए यह कार्यक्षमता आवश्यक है या नहीं।

              Ethereum सबग्राफ “pending” और “current” संस्करणों का समर्थन करते हैं, मैं NEAR सबग्राफ का “pending” संस्करण कैसे तैनात कर सकता हूँ?

              NEAR सबग्राफ के लिए लंबित कार्यक्षमता अभी तक समर्थित नहीं है। इस बीच, आप एक नए संस्करण को एक अलग “named” सबग्राफ पर तैनात कर सकते हैं, और जब वह चेन हेड के साथ सिंक हो जाता है, तो आप अपने प्राथमिक “named” सबग्राफ पर पुनः तैनाती कर सकते हैं, जो उसी अंतर्निहित deployment ID का उपयोग करेगा, जिससे मुख्य सबग्राफ तुरंत सिंक हो जाएगा।

              मेरा प्रश्न अभी तक उत्तरित नहीं हुआ है, मुझे NEAR सबग्राफ बनाने में और सहायता कहाँ मिल सकती है?

              यदि यह सबग्राफ विकास से संबंधित एक सामान्य प्रश्न है, तो शेष Developer documentation में बहुत अधिक जानकारी उपलब्ध है। अन्यथा, कृपया The Graph Protocol Discord⁠ से जुड़ें और #near चैनल में पूछें या [email protected]⁠ पर ईमेल करें।

              संदर्भ

              • NEAR डेवलपर दस्तावेज़⁠
              ⁠GitHub पर संपादित करें⁠

              फोर्क्स का उपयोग करके त्वरित और आसान सबग्राफ डिबगिंगआरवीव पर सब-ग्राफ्र्स बनाना
              इस पृष्ठ पर
              • NEAR क्या है?
              • NEAR Subgraphs क्या हैं?
              • NEAR सबग्राफ बनाना
              • सब ग्राफ मैनिफेस्ट की परिभाषा
              • स्कीमा की परिभाषा
              • असेंबली स्क्रिप्ट मैप्पिंग्स
              • एक NEAR सबग्राफ की तैनाती
              • Subgraph Studio
              • स्थानीय ग्राफ़ नोड (डिफ़ॉल्ट कॉन्फ़िगरेशन पर आधारित)
              • एक स्थानीय ग्राफ़ नोड के साथ NEAR को अनुक्रमणित करना
              • NEAR सबग्राफ को क्वेरी करना
              • सब-ग्राफ के उदाहरण
              • FAQ
              • बीटा कैसे काम करता है?
              • क्या सबग्राफ दोनों NEAR और EVM चेन को इंडेक्स कर सकता है?
              • क्या सबग्राफ अधिक विशिष्ट ट्रिगर्स पर प्रतिक्रिया कर सकते हैं?
              • क्या रसीद हैंडलर खातों और उनके उप-खातों के लिए ट्रिगर करेंगे?
              • क्या NEAR सबग्राफमैपिंग्स के दौरान NEAR खातों पर view कॉल कर सकते हैं?
              • क्या मैं अपने NEAR सबग्राफ में data source templates का उपयोग कर सकता हूँ?
              • Ethereum सबग्राफ “pending” और “current” संस्करणों का समर्थन करते हैं, मैं NEAR सबग्राफ का “pending” संस्करण कैसे तैनात कर सकता हूँ?
              • मेरा प्रश्न अभी तक उत्तरित नहीं हुआ है, मुझे NEAR सबग्राफ बनाने में और सहायता कहाँ मिल सकती है?
              • संदर्भ
              The GraphStatusTestnetBrand AssetsForumSecurityPrivacy PolicyTerms of Service