Substreams destekli subgraphlar SSS
Reading time: 4 min
tarafından geliştirilen Substreams, zengin blokzinciri veri akışlarını işleyebilen son derece güçlü bir işlem motorudur. Substreams, blokzinciri verilerini son kullanıcı uygulamaları tarafından hızlı ve sorunsuz bir şekilde işlenmek üzere rafine etmenizi ve şekillendirmenizi sağlar. Daha spesifik olmak gerekirse, Substreams, farklı blokzincirleriyle uyumlu, paralelleştirilmiş ve akış öncelikli bir motor olup bir blokzinciri veri dönüşüm katmanı olarak işlev görür. tarafından desteklenen Substreams, geliştiricilerin Rust modülleri yazmasına, topluluk modüllerini kullanarak geliştirme yapmasına, son derece yüksek performanslı endeksleme sağlamasına ve verilerini herhangi bir yere yönlendirmesine () olanak tanır.
Substreams hakkında daha fazla bilgi için gidin.
, Substreams'in gücünü subgraphlar'ın sorgulanabilirliği ile birleştirir. Substreams ile desteklenen bir subgraph yayınladığınızda, Substreams dönüşümleri tarafından üretilen veriler, subgraph varlıkları ile uyumlu olan olarak verebilir.
Eğer subgraph geliştirme konusun aşina iseniz, aklınızda bulundurun ki, Substreams destekli subgraphlar AssemblyScript dönüştürme katmanı tarafından üretilmiş gibi sorgulanabilir ve dinamik ve esnek bir GraphQL API sağlayarak Subgraph avantajlarından yararlanabilir.
Subgraphlar, zincir üstü olayları ve bu olayların nasıl AssemblyScript işleyicileri aracılığıyla dönüştürüleceğini belirleyen veri kaynaklarından oluşur. Bu olaylar, olayların zincir üstünde meydana geldikleri sıraya göre işlenir.
Buna karşılık, Substreams destekli subgraphlar, Substreams paketini referans alan tek bir veri kaynağına sahiptir ve bu veri kaynağı Graph Düğümü tarafından işlenir. Substreams, geleneksel subgraphlara kıyasla daha detaylı zincir üstü verilere erişebilir ve ayrıca büyük ölçekli paralel işlemden yararlanarak çok daha hızlı işleme süreleri elde edebilir.
Substreams destekli subgraph'ler, Substreams'in tüm avantajlarını subgraph'lerin sorgulanabilirliğiyle birleştirir. Bu yaklaşım, The Graph'e daha fazla birleştirilebilirlik ve yüksek performanslı endeksleme sağlar. Ayrıca, yeni veri kullanım senaryolarını mümkün kılar. Örneğin, Substreams destekli subgraph'inizi oluşturduktan sonra, PostgreSQL, MongoDB ve Kafka gibi farklı çıktı almak için yeniden kullanabilirsiniz.
Substreams kullanmanın birçok faydası vardır, bunlar şunlardır:
-
Birleştirilebilir: Substreams modüllerini LEGO blokları gibi birleştirebilir ve topluluk modüllerine dayanarak açık verileri daha da ayrıntılayabilirsiniz.
-
Yüksek performanslı indeksleme: Büyük ölçekli paralel işlemler sayesinde sıradan işlemlere göre onlarca kat daha hızlı indeksleme sağlar (BigQuery gibi).
-
Her yere veri gönderme: Verilerinizi PostgreSQL, MongoDB, Kafka, subgraphlar, düz dosyalar, Google Sheets gibi herhangi bir yere gönderebilirsiniz.
-
Programlanabilir: Kod kullanarak çıkarma işlemlerini özelleştirmek, dönüşüm zamanında toplamalar yapmak ve çıktınızı birden çok hedef için modelleyebilirsiniz.
-
JSON RPC'nin parçası olmayan ek verilere erişim sağlar
-
Firehose'un tüm faydalarından yararlanır.
tarafından geliştirilen Firehose, daha önce görülmemiş hızlarda blok zincirinin baştan sona, tam geçmişini işlemek için tasarlanmış bir blok zinciri veri çıkarma katmanıdır. Dosya tabanlı ve akışa odaklı bir yaklaşım sunarak, StreamingFast'in açık kaynaklı teknolojilerinin temel bileşenlerinden biridir ve Substreamler'in temelini oluşturur.
Firehose hakkında daha fazla bilgi için gidin.
Firehose kullanmanın birçok faydası vardır, bunlar şunlardır:
-
En düşük gecikme ve sorgulama yok: Akışa odaklı bir şekilde, Firehose düğümleri blok verilerini ilk olarak dışarıya göndermek üzere tasarlanmıştır.
-
Kesintisiz çalışma: Yüksek Erişilebilirlik için baştan sona tasarlanmıştır.
-
Hiçbir şeyi kaçırmaz: Firehose akış imleci, fork durumlarını ele almak ve herhangi bir durumda kaldığınız yerden devam etmek için tasarlanmıştır.
-
En zengin veri modeli: Bakiye değişikliklerini, tam çağrı ağacını, dahili işlemleri, kayıtları, depolama değişikliklerini, gaz maliyetlerini ve daha fazlasını içeren en iyi veri modeli.
-
Düz dosyalardan yararlanma: Blok zinciri verileri düz dosyalara çıkarılır, en ucuz ve en optimize hesaplama kaynağı kullanılır.
Geliştiriciler, Substreams destekli subgraphlar ve Substreams hakkında daha fazla bilgiye nereden erişebilir geliştiriciler?
, Substreams modülleri nasıl oluşturulacağını öğretecektir.
, onları Graph üzerinde dağıtmak için nasıl paketleyeceğinizi gösterecektir.
, hiç kod yazmadan bir Substreams projesi başlatmanıza olanak tanır.
Rust modülleri, Subgraphs'teki AssemblyScript eşleştiricilerinin karşılığıdır. WASM'ye benzer şekilde derlenirler, ancak programlama modelleri paralel yürütme için olanak sağlar. Rust modülleri, ham blok zinciri verilerine uygulamak istediğiniz dönüşümleri ve birleştirmeleri tanımlar.
Substream kullanırken, kompozisyon dönüşüm katmanında gerçekleşir ve önbelleğe alınmış modüllerin tekrar kullanılmasına olanak sağlar.
Örnek olarak, Alice bir merkeziyetsiz borsa fiyat modülü oluşturabilir, Bob ilgisini çeken bazı tokenler için bir hacim aggregator inşa edebilir ve Lisa dört bireysel merkeziyetsiz borsa fiyat modülünü bir araya getirerek bir fiyat oracle'ı oluşturabilir. Tek bir Substreams talebi, tüm bu bireylerin modüllerini bir araya getirir, birleştirir ve çok daha sofistike bir veri akışı sunar. Bu akış daha sonra bir subgraph'ı doldurmak ve tüketiciler tarafından sorgulanmak için kullanılabilir.
Bir Substreams destekli Subgraph sonra, onu üzerinde dağıtmak için Graph CLI'yi kullanabilirsiniz.
Substreams ve Substreams destekli subgraphlar ile ilgili örnekleri bulmak için ziyaret edebilirsiniz.
Bu entegrasyon, topluluk modüllerinden yararlanarak son derece yüksek performanslı indeksleme ve daha fazla birleştirme yapma avantajları sunar.