Docs
Arama⌘ K
  • Ana sayfa
  • Graph Hakkında
  • Desteklenen Ağlar
  • Protocol Contracts
  • Subgraph'ler
    • Substream'ler
      • Token API
        • Hypergraph
          • AI Suite
            • Endeksleme
              • Graph Horizon
                • Kaynaklar
                  Subgraph'ler > Sorgulama

                  4 dakika

                  Bir Uygulamadan Sorgu Yapma

                  Uygulamanızdan The Graph’e nasıl sorgu yapacağınızı öğrenin.

                  GraphQL Uç Noktalarını Alma

                  Geliştirme süreci boyunca iki farklı aşamada birer GraphQL API’si uç noktası alırsınız: biri Subgraph Studio’da test etmek için, diğeri ise üretim ortamında The Graph Ağı’na sorgular göndermek içindir.

                  Subgraph Studio Uç Noktası

                  Subgraph Studio ortamına Subgraph’inizi dağıttıktan sonra, aşağıdakine benzer bir uç nokta alırsınız:

                  1https://api.studio.thegraph.com/query/<ID>/<SUBGRAPH_NAME>/<VERSION>

                  Bu uç nokta yalnızca test amaçlıdır ve istek sayısı sınırlandırılmıştır.

                  The Graph Ağı Uç Noktası

                  Subgraph’inizi ağa yayımladıktan sonra, aşağıdakine benzer bir uç nokta alırsınız:

                  1https://gateway.thegraph.com/api/<API_KEY>/subgraphs/id/<SUBGRAPH_ID>

                  Bu uç nokta, ağ üzerinde aktif kullanım için tasarlanmıştır. Çeşitli GraphQL istemci kütüphanelerini kullanarak Subgraph’e sorgu göndermenize ve uygulamanızı endekslenmiş verilerle beslemenize olanak tanır.

                  Popüler GraphQL İstemcilerini Kullanma

                  Graph İstemcisi

                  The Graph, kendisine ait bir GraphQL istemcisi olan graph-client’i sunar ve bu istemci aşağıdaki gibi rakipsiz özellikleri destekler:

                  • Zincirler arası Subgraph İşleme: Tek bir sorguda birden fazla Subgraph’ten veri sorgulama
                  • Otomatik Blok Takibi⁠
                  • Otomatik Sayfalama⁠
                  • Tamamen yazılmış sonuç

                  Not: graph-client, Apollo ve URQL gibi diğer popüler GraphQL istemcileriyle entegredir ve React, Angular, Node.js ile React Native gibi ortamlarla uyumludur. Bu nedenle, graph-client kullanmak, The Graph ile çalışırken size geliştirilmiş bir deneyim sunar.

                  Graph Client ile Veri Çekme

                  graph-client ile bir Subgraph’ten nasıl veri çekebileceğimize bakalım:

                  1. Adım

                  Projenizde The Graph Client CLI’yi kurun:

                  1yarn add -D @graphprotocol/client-cli2# veya, NPM ile:3npm install --save-dev @graphprotocol/client-cli

                  2. Adım

                  Sorgunuzu bir .graphql dosyasında tanımlayın (veya doğrudan .js ya da .ts dosyanıza satır içi olarak ekleyin):

                  1query ExampleQuery {2  # burası compound-v2'den geliyor3  markets(first: 7) {4    borrowRate5    cash6    collateralFactor7  }8  # burası uniswap-v2'den geliyor9  pair(id: "0x00004ee988665cdda9a1080d5792cecd16dc1220") {10    id11    token0 {12      id13      symbol14      name15    }16    token1 {17      id18      symbol19      name20    }21  }22}

                  3. Adım

                  Bir yapılandırma dosyası oluşturun (.graphclientrc.yml adında) ve The Graph tarafından sağlanan GraphQL uç noktalarına işaret edin. Örneğin:

                  1# .graphclientrc.yml2sources:3  - name: uniswapv24    handler:5      graphql:6        endpoint: https://gateway.thegraph.com/api/<API_KEY>/subgraphs/id/<SUBGRAPH_ID>7  - name: compoundv28    handler:9      graphql:10        endpoint: https://gateway.thegraph.com/api/<API_KEY>/subgraphs/id/<SUBGRAPH_ID>1112documents:13  - ./src/example-query.graphql

                  4. Adım

                  Halihazırda yazılmış ve kullanıma hazır JavaScript kodu üretmek için aşağıdaki The Graph Client CLI komutunu çalıştırın:

                  1graphclient build

                  5. Adım

                  Oluşturulan tip tanımlı GraphQL dökümanlarını kullanmak için .ts dosyanızı güncelleyin:

                  1import React, { useEffect } from 'react'2// ...3// oluşturulan koddan (`..graphclient/`) tipleri ve tip tanımlı graphql dökümanını içe aktarıyoruz4import { ExampleQueryDocument, ExampleQueryQuery, execute } from '../.graphclient'56function App() {7  const [data, setData] = React.useState<ExampleQueryQuery>()89  useEffect(() => {10    execute(ExampleQueryDocument, {}).then((result) => {11      setData(result?.data)12    })13  }, [setData])14  return (15    <div className="App">16      <header className="App-header">17        <img src={logo} className="App-logo" alt="logo" />18        <p>Graph Client Example</p>19        <fieldset>20          {data && (21            <form>22              <label>Data</label>23              <br />24              <textarea value={JSON.stringify(data, null, 2)} readOnly rows={25} />25            </form>26          )}27        </fieldset>28      </header>29    </div>30  )31}3233export default App

                  Önemli Not: graph-client, Apollo Client, URQL veya React Query gibi diğer GraphQL istemcileriyle tamamen entegredir; resmi depoda örneklere ulaşabilirsiniz⁠. Ancak farklı bir istemci kullanmayı tercih ederseniz, The Graph ile sorgu yaparken temel özelliklerden olan Zincirler Arası Subgraph İşleme ve Otomatik Sayfalama fonksiyonlarını kullanamayacağınızı unutmayın.

                  Apollo Client

                  Apollo Client⁠, önyüz ekosistemlerinde yaygın olarak kullanılan bir GraphQL istemcisidir. React, Angular, Vue, Ember, iOS ve Android gibi platformlarda kullanılabilir.

                  En ağır istemci olmasına rağmen, GraphQL üzerine gelişmiş bir kullanıcı arayüzü oluşturmak için birçok özelliğe sahiptir:

                  • Gelişmiş hata yönetimi
                  • Sayfalandırma
                  • Veriyi ön belleğe alma (prefetching)
                  • Optimist kullanıcı arayüzü (UI)
                  • Yerel durum yönetimi

                  Apollo Client ile Veri Getirme

                  Apollo client ile bir Subgraph’ten nasıl veri çekebileceğimize bakalım:

                  1. Adım

                  @apollo/client ve graphqli yükleyin:

                  1npm install @apollo/client graphql

                  2. Adım

                  Aşağıdaki kod ile API’ye sorgu gönderin:

                  1import { ApolloClient, InMemoryCache, gql } from '@apollo/client'23const APIURL = 'https://gateway.thegraph.com/api/<API_KEY>/subgraphs/id/<SUBGRAPH_ID>'45const tokensQuery = `6  query {7    tokens {8      id9      tokenID10      contentURI11      metadataURI12    }13  }14`1516const client = new ApolloClient({17  uri: APIURL,18  cache: new InMemoryCache(),19})2021client22  .query({23    query: gql(tokensQuery),24  })25  .then((data) => console.log('Subgraph data: ', data))26  .catch((err) => {27    console.log('Error fetching data: ', err)28  })

                  3. Adım

                  Değişken kullanmak için, sorguya bir variables argümanı geçebilirsiniz:

                  1const tokensQuery = `2  query($first: Int, $orderBy: BigInt, $orderDirection: String) {3    tokens(4      first: $first, orderBy: $orderBy, orderDirection: $orderDirection5    ) {6      id7      tokenID8      contentURI9      metadataURI10    }11  }12`1314client15  .query({16    query: gql(tokensQuery),17    variables: {18      first: 10,19      orderBy: 'createdAtTimestamp',20      orderDirection: 'desc',21    },22  })23  .then((data) => console.log('Subgraph data: ', data))24  .catch((err) => {25    console.log('Error fetching data: ', err)26  })

                  URQL’e Genel Bakış

                  URQL⁠, Node.js, React/Preact, Vue ve Svelte ortamlarında kullanılabilir ve bazı gelişmiş özellikler sunar:

                  • Esnek önbellek sistemi
                  • Genişletilebilir tasarım (üzerine yeni özellikler eklemeyi kolaylaştırır)
                  • Hafif paket yapısı (Apollo Client’tan yaklaşık 5 kat daha hafif)
                  • Dosya yükleme ve çevrimdışı mod desteği

                  URQL ile veri getirme

                  URQL ile bir Subgraph’ten nasıl veri çekebileceğimize bakalım:

                  1. Adım

                  urql and graphqli yükleyin:

                  1npm install urql graphql

                  2. Adım

                  Aşağıdaki kod ile API’ye sorgu gönderin:

                  1import { createClient } from 'urql'23const APIURL = 'https://gateway.thegraph.com/api/<API_KEY>/subgraphs/id/<SUBGRAPH_ID>'45const tokensQuery = `6  query {7    tokens {8      id9      tokenID10      contentURI11      metadataURI12    }13  }14`1516const client = createClient({17  url: APIURL,18})1920const data = await client.query(tokensQuery).toPromise()
                  ⁠GitHub'da Düzenle⁠

                  Sorgulama - Örnek UygulamalarDağıtık Sistemler
                  Bu sayfada
                  • GraphQL Uç Noktalarını Alma
                  • Subgraph Studio Uç Noktası
                  • The Graph Ağı Uç Noktası
                  • Popüler GraphQL İstemcilerini Kullanma
                  • Graph İstemcisi
                  • Graph Client ile Veri Çekme
                  • Apollo Client
                  • Apollo Client ile Veri Getirme
                  • URQL’e Genel Bakış
                  • URQL ile veri getirme
                  The GraphStatusTestnetBrand AssetsForumSecurityPrivacy PolicyTerms of Service