title |
---|
Substreams |
Substreams, Graph Ağı için geliştirilmiş güçlü bir blok zinciri indeksleme teknolojisidir. Substreams, geliştiricilerin Rust modülleri yazmasına, toplulukla birlikte veri akışları oluşturmasına olanak tanır ve akış öncelikli bir şekilde paralelleştirme sayesinde son derece yüksek performanslı indeksleme sunar.
Substreams ile farklı blok zincirlerinden (Ethereum, BNB, Solana...) ultra hızlı veri çekebilirsiniz! Daha sonra bu verileri çeşitli yerlere (bir Postgres veritabanı, bir Mongo veritabanı veya bir Subgraph) gönderebilirsiniz.
- Blok zinciri verilerine uygulamak istediğiniz dönüşümleri tanımlayan bir Rust programı yazarsınız. Örneğin, aşağıdaki Rust fonksiyonu bir Ethereum bloğundan ilgili bilgileri çıkarır (numara, hash ve üst hash).
fn get_my_block(blk: Block) -> Result<MyBlock, substreams::errors::Error> {
let header = blk.header.as_ref().unwrap();
Ok(MyBlock {
number: blk.number,
hash: Hex::encode(&blk.hash),
parent_hash: Hex::encode(&header.parent_hash),
})
}
-
Sadece tek bir CLI komutu çalıştırarak Rust programınızı bir WASM modülüne çevirirsiniz.
-
WASM konteyneri, yürütme için bir Substreams uç noktasına gönderilir. Substreams sağlayıcısı, WASM konteynerini blok zincir verileriyle besler ve dönüşümler uygulanır.
-
Dönüştürülmüş verileri göndermek istediğiniz bir yer olan hedef(sink) seçersiniz (örneğin bir Postgres veritabanı veya bir Subgraph).
Resmi Substreams dökümantasyonu şu anda StreamingFast ekibi tarafından StreamingFast web sitesinde tutulmaktadır.
- Bir Substreams geliştirmek ve dağıtmak için Substreams CLI'ını yüklemeniz gerekmektedir.
- Ardından, Hızlı Başlangıç Öğreticisini takip ederek ilk Substreams'ınızı çalıştırın.
- Substreams ile oluşturabileceğiniz temel dönüşümler hakkında bilgi edinmek için Ethereum Gezgini Öğreticisine göz atın.