Skip to content

Latest commit

 

History

History
168 lines (118 loc) · 7.26 KB

quick-start.mdx

File metadata and controls

168 lines (118 loc) · 7.26 KB
title
Hızlı Başlangıç

Bu kılavuz, subgraph'inizi Subgraph Studio'ya veya barındırılan hizmete nasıl başlatacağınız, oluşturacağınız ve deploy edeceğiniz konusunda size hızlı bir şekilde yol gösterecektir.

Subgraph'ınızın desteklenen bir ağdan gelen verileri indeksleyeceğinden emin olun.

Bu rehber, aşağıdakilere sahip olduğunuzu varsayar:

  • Seçtiğiniz ağ üzerinde bir akıllı sözleşme adresi
  • Subgraph'ınızın kürasyonu için GRT
  • Bir kripto cüzdanı

1. Subgraph Stüdyo'da bir subgraph oluşturun

Subgraph Studio'ya gidin ve cüzdanınızı bağlayın.

Bağlandıktan sonra, "bir subgraph oluştur" seçeneğine tıklayarak başlayabilirsiniz. Tercih ettiğiniz ağı seçin ve devam et'e tıklayın.

2. Graph CLI'yi yükleyin

Graph CLI JavaScript ile yazılmıştır ve kullanmak için npm ya da yarn yüklemiş olmanız gerekir.

Yerel makinenizde aşağıdaki komutlardan birini çalıştırın:

npm kullanımı:

npm install -g @graphprotocol/graph-cli

yarn kullanımı:

yarn global add @graphprotocol/graph-cli

3. Subgraph'ınızı başlatın

Özel subgraph'inize yönelik komutları, Subgraph Studio subgraph'i sayfasında bulabilirsiniz.

Subgraph'ınızı başlattığınızda, CLI aracı sizden aşağıdaki bilgileri isteyecektir:

  • Protokol: Subgraph'ınızın veri indeksleyeceği protokolü seçin
  • Subgraph slug: Subgraph'ınız için bir ad oluşturun. Subgraph slug'ınız subgraph'ınız için bir tanımlayıcıdır.
  • Subgraph'ınızın oluşturulacağı dizin: yerel dizininizi seçin
  • Ethereum ağı (opsiyonel): Subgraph'ınızın hangi EVM uyumlu ağdan veri indeksleyeceğini belirtmeniz gerekebilir
  • Sözleşme adresi: Veri sorgulamak istediğiniz akıllı sözleşme adresini bulun
  • ABI: ABI otomatik olarak doldurulmuyorsa, JSON dosyası haline manuel olarak girmeniz gerekecektir
  • Başlangıç Bloğu: Subgraph'ınız blok zinciri verilerini indekslerken zaman kazanmak için başlangıç bloğunu girmeniz önerilir. Başlangıç bloğunu, sözleşmenizin dağıtıldığı bloğu bularak bulabilirsiniz.
  • Sözleşme Adı: Sözleşmenizin adını girin
  • Sözleşme olaylarını varlıklar olarak indeksleyin: Yayılan her olay için subgraph'ınıza otomatik olarak eşlemeler ekleyeceğinden bunu true olarak ayarlamanız önerilir
  • Başka bir sözleşme ekle (opsiyonel): Başka bir sözleşme ekleyebilirsiniz

Aşağıdaki komutu çalıştırarak subgraph'ınızı mevcut bir sözleşmeden başlatın:

graph init --studio <SUBGRAPH_SLUG>

Subgraph'ınızı başlatırken neyle karşılaşacağınıza dair bir örnek için aşağıdaki ekran görüntüsüne bakın:

Subgraph command

4. Subgraph'ınızı Yazın

Önceki komutlar, subgraph'ınızı oluşturmak için bir başlangıç noktası olarak kullanabileceğiniz bir subgraph iskeletini oluşturur. Subgraph'ta değişiklik yaparken, temel olarak üç dosya ile çalışacaksınız:

  • Manifest (subgraph.yaml) - Manifest, subgraph'ınızın hangi veri kaynaklarını indeksleyeceğini tanımlar.
  • Şema (schema.graphql) - GraphQL şeması, subgraph'tan hangi verileri almak istediğinizi tanımlar.
  • AssemblyScript Eşleştirmeleri (mapping.ts) - Bu, veri kaynaklarınızdaki verileri şemada tanımlanan varlıklara çeviren koddur.

Subgraph'ınızı nasıl yazacağınıza dair daha fazla bilgi için, Subgraph Oluşturma.

5. Subgraph Stüdyo'ya Dağıtın

Subgraph'ınız yazıldıktan sonra aşağıdaki komutları çalıştırın:

$ graph codegen
$ graph build
  • Subgraph'ınızı doğrulayın ve dağıtın. Dağıtım anahtarı Subgraph Stüdyo'daki Subgraph sayfasında bulunabilir.
$ graph auth --studio <DEPLOY_KEY>
$ graph deploy --studio <SUBGRAPH_SLUG>

Sizden bir sürüm etiketi istenecektir. '0.0.1' gibi sürümler için semver kullanılması önemle tavsiye edilir. Bununla birlikte, sürüm olarak herhangi bir dizeyi seçmekte özgürsünüz: v1, version1, asdf gibi.

6. Subgraph'ınızı Test Edin

Test alanı(playground) bölümünde örnek bir sorgu yaparak subgraph'ınızı test edebilirsiniz.

Kayıtlar, subgraph'ınızla ilgili herhangi bir hata olup olmadığını size söyleyecektir. Çalışan bir subgraph'ın kayıtları aşağıdaki gibi görünecektir:

Subgraph logs

Subgraph'iniz arızalanıyorsa GraphiQL Playground'u kullanarak subgraph durumunu sorgulayabilirsiniz. Aşağıdaki sorgudan yararlanabileceğinizi ve subgraph'iniz için dağıtım kimliğinizi girebileceğinizi unutmayın. Bu durumda, Qm... dağıtım kimliğidir (bu, Subgraph sayfasında Ayrıntılar altında bulunabilir). Aşağıdaki sorgu, bir subgraph'in ne zaman başarısız olduğunu size söyleyecektir, böylece buna göre hata ayıklayabilirsiniz:

{
  indexingStatuses(subgraphs: ["Qm..."]) {
    node
    synced
    health
    fatalError {
      message
      block {
        number
        hash
      }
      handler
    }
    nonFatalErrors {
      message
      block {
        number
        hash
      }
      handler
    }
    chains {
      network
      chainHeadBlock {
        number
      }
      earliestBlock {
        number
      }
      latestBlock {
        number
      }
      lastHealthyBlock {
        number
      }
    }
    entityCount
  }
}

7. Subgraph'ınızı Graph'ın Merkeziyetsiz Ağında Yayınlayın

Subgraph'ınız Subgraph Stüdyo'ya dağıtıldıktan, test ettikten ve kullanıma hazır hale geldikten sonra, bunu merkeziyetsiz ağda yayınlayabilirsiniz.

Subgraph Stüdyo'da subgraph'ınıza tıklayın. Subgraph'ın sayfasında, sağ üstteki yayınla düğmesine tıklayabileceksiniz.

Subgraph'inizi yayınlamak istediğiniz ağı seçin. Daha hızlı işlem hızları ve daha düşük gas maliyetlerinden yararlanmak için Arbitrum One'da subgraph'lerin yayınlanması önerilir.

Subgraph'ınızı sorgulayabilmeniz için önce İndeksleyicilerin bu subgraph üzerinde sorgu sunmaya başlaması gerekir. Bu süreci kolaylaştırmak için GRT kullanarak kendi subgraph'ınızı oluşturabilirsiniz.

Bu rehberin yazıldığı sırada, kendi subgraph'ınızın mümkün olan en kısa sürede indekslenmesini ve sorgulanabilir olmasını sağlamanız için 10.000 GRT ile kürate etmeniz önerilir.

Gas maliyetlerinden tasarruf etmek için, subgraph'ınızı Graph'ın merkeziyetsiz ağında yayınlarken bu düğmeyi seçerek subgraph'ınızı yayınladığınız işlemle aynı işlemde kürate edebilirsiniz:

Subgraph publish

8. Subgraph'ınızı Sorgulayın

Şimdi, subgraph'ınızın Sorgu URL'sine GraphQL sorguları göndererek onu sorgulayabilirsiniz; bu URL'yi sorgu düğmesine tıklayarak bulabilirsiniz.

API anahtarınız yoksa, geliştirme ve hazırlama için kullanılabilen ücretsiz, rate limit'li geçici sorgu URL'si aracılığıyla merkeziyetsiz uygulamanızdan sorgulama yapabilirsiniz.

Subgraph'inizden veri sorgulama hakkında daha fazla bilgi için daha fazlasını buradan okuyun.