Fan Token Transferlerini Takip Etme
The Graph veya Goldsky ile subgraph'ler kullanarak Chiliz Chain'de Fan Token transfer geçmişini takip edin; olay indeksleme, GraphQL sorguları ve token panosu oluşturma.
Chiliz Chain'deki Fan Token hareketlerini takip etmek, favori token'larınızın aktivitesini izlemenin harika bir yoludur. Potansiyel bir pano için yapı taşı olarak kullanarak, neyin popüler olduğuna dair içgörüler sunmak amacıyla verileri düzenleyebilirsiniz.
Fan Token™ hareketlerini takip ederken hızla bir zorlukla karşılaşırsınız: Blockchain'den doğrudan veri okumak mevcut durum için verimlidir ("X cüzdanının bakiyesi nedir?"), ancak geçmiş veriler için verimsizdir ("Son bir yıl içinde X cüzdanıyla ilgili her transferi göster").
Bu sorunu çözmek için subgraph'leri kullanabiliriz.
Subgraph'ler Hakkında
Subgraph, bir blockchain'den veri çıkaran, işleyen ve kolayca sorgulanabilecek şekilde depolayan özel bir API'dir. Her veri ihtiyacında blockchain'den milyonlarca blok taramasını istemek yerine, bir subgraph belirli olayları gerçekleştikçe indeksler ve bir veritabanında depolar.
Chiliz Chain, endüstri standardı indeksleme protokollerini desteklemektedir. Projenizin ihtiyaçlarına en uygun sağlayıcıyı seçebilirsiniz:
The Graph: Merkeziyetsiz indeksleme için endüstri standardı. Subgraph'inizi bir merkeziyetsiz indeksleyici ağına deploy etmenizi sağlar.
Goldsky: Yüksek performanslı, barındırılan indeksleme hizmeti. The Graph'ın kodu ile tam uyumludur (çoğu zaman birebir aynı kodu kullanabilirsiniz), ancak daha hızlı indeksleme ve gerçek zamanlı veri akışı özellikleri sunar.
Her iki araç da aynı geliştirme çerçevesini kullanır, bu nedenle bu sayfadaki adımların büyük çoğunluğu her ikisi için de geçerlidir.
Örneğin PSG Fan Token'ının transferlerini nasıl takip edebileceğimize bakalım...
0. Araç Seçimi
Chiliz Chain'de The Graph (merkeziyetsiz ağ) veya Goldsky (barındırılan indeksleyici) kullanarak subgraph deploy edebilirsiniz. Kod yapısı aynıdır; yalnızca deploy komutları farklılık gösterir.
Elbette kendi belgelerine başvurabilirsiniz:
1. Subgraph Projesini Başlatma
Hem The Graph hem de Goldsky, graph'inizi oluşturmak için CLI tabanlı yöntemler sunar.
The Graph'ın Subgraph Studio'su mevcuttur; Web3 cüzdanınızla bağlanarak arayüz üzerinden bir subgraph oluşturabilirsiniz.
Goldsky, hesap oluşturduğunuzda subgraph oluşturabileceğiniz bir pano sunar.
Graph CLI'yi Yükleme
Yerel makinenizde şunu çalıştırın:
The Graph'ın CLI aracını hem The Graph merkeziyetsiz subgraph'leri hem de Goldsky barındırılan subgraph'leri için kullanabilirsiniz.
Goldsky'nin kendi CLI aracı da mevcuttur; Goldsky'de deploy etmek istiyorsanız bu araca ihtiyacınız olacak (aşağıya bakın).
Subgraph'inizi Başlatma
Bunu doğrudan subgraph sayfanızdan kopyalayarak belirli subgraph slug'ınızı ekleyebilirsiniz:
--studio etiketi isteğe bağlıdır.
PSG Fan Token örneğimizde şunu kullanabiliriz:
Subgraph'iniz hakkında bazı bilgiler girmeniz istenecektir:

Sözleşmenizin blok gezgininde doğrulanmış olması gerekir ve CLI, ABI'yi otomatik olarak alarak subgraph'inizi kuracaktır. Varsayılan ayarlar her olay için bir varlık oluşturacaktır.
Not:
Sözleşme PSG Fan Token gibi bir proxy kullanıyorsa, implementasyon sözleşmesinin adresini kullanın. Bunu blok gezginindeki sözleşme sayfasının "Read/write contract" sekmesinde görebilirsiniz. Örneğin, Chiliz Block Explorer'da PSG Fan Token sözleşmesine buradan bakabilirsiniz.
Bir proxy'nin implementasyon sözleşmesini girmeniz gerekiyorsa, proje kurulduktan sonra manifest dosyasına (
subgraph.yaml) gidin ve sözleşme adresini proxy adresiyle değiştirin.
Başlangıç Bloğu otomatik olarak alınamıyorsa, sözleşmenin oluşturulduğu blok numarasını manuel olarak girebilirsiniz. Bunu blok gezgininden edinebilirsiniz.
Subgraph'inizde değişiklik yaparken ağırlıklı olarak üç dosya üzerinde çalışacaksınız:
Manifest (
subgraph.yaml): Subgraph'inizin hangi veri kaynaklarını indeksleyeceğini tanımlar.Şema (
schema.graphql): Subgraph'ten almak istediğiniz verileri tanımlar.AssemblyScript Eşlemeleri (
mapping.ts): Veri kaynaklarından gelen verileri şemada tanımlanan varlıklara dönüştürür.
subgraph.yaml'ı açın ve manifest dosyanızın doğru ağa işaret ettiğinden emin olun:
Subgraph'inizi Derleme
Son olarak, hata olmadığından emin olmak için subgraph'inizi derleyin:
2. Deploy ve Yayınlama
Subgraph'iniz hazırlandıktan sonra deploy etmek için sağlayıcınızı seçin.
The Graph
Subgraph Studio'ya bağlanın, bir subgraph oluşturun ve deploy anahtarınızı kopyalayın.
CLI üzerinden kimlik doğrulaması yapın:
graph auth --studio <DEPLOY_KEY>Subgraph'inizi Subgraph Studio'ya deploy edin:
graph deploy --studio <SUBGRAPH_SLUG>Studio'ya gidin, subgraph'inizi açın ve merkeziyetsiz ağda subgraph'inizi yayınlamak için "Publish"e tıklayın. Bu işlem, subgraph'inizi Arbitrum One ağında NFT olarak yayınlamak için cüzdanınız üzerinden bir işlem tetikler.
Goldsky
Goldsky'ye gidin, "Project Settings" bölümünde bir API anahtarı oluşturun ve CLI aracılığıyla giriş yapın.
goldskykomutunu yükleyin:curl https://goldsky.com | shArdından CLI üzerinden kimlik doğrulaması yapın:goldsky loginSubgraph'inizi Goldsky'ye yükleyin:
goldsky subgraph deploy / --path
Goldsky subgraph'leri, deploy işleminin hemen ardından yayına alınır. Ekstra bir yayınlama adımı gerekmez.
Bir sürüm etiketi girmeniz istenecektir. v0.0.1 gibi bir şey girebilirsiniz, ancak formatı seçmekte özgürsünüz. Bu işlem tamamlandıktan sonra Studio sayfasında subgraph'in senkronize olmaya başladığını göreceksiniz.
The Graph'ın akıllı sözleşmeleri, subgraph'iniz Chiliz Chain'deki verileri indekliyor olsa bile tümü Arbitrum One üzerindedir.
3. Subgraph'inizi Sorgulama
Tebrikler! Artık seçtiğiniz hizmetin panosunda bulunan subgraph'in sorgu URL'sine bir GraphQL sorgusu göndererek sorgulamaya başlayabilirsiniz.
Örnek:
The Graph
https://gateway-arbitrum.network.thegraph.com/api/[APIKEY]/subgraphs/id/[ID]
Goldsky
https://api.goldsky.com/api/public/project_[KEY]/subgraphs/[SLUG]/1.0.0/gn
Şimdi sadece bilgilerinizi doldurmanız ve bu uç noktaya GraphQL sorguları göndermeye başlamanız yeterlidir.
Ekler
Örnek Sorgu
Bu sorgu, PSG Fan Token'ının tüm işlemlerini gösterir.
Örnek Kod
Bunu sorgu URL'sine aktarmak şu sonucu döndürür:
Ek Kaynaklar
GraphQL ile subgraph'inizden veri sorgulama hakkında daha fazla bilgi için:
Son güncelleme
Bu yararlı oldu mu?