Skip to main content

Mevcut Uç Noktalar

Jetstream v2, v1 ile aynı uç noktalarda sunulur; ayrı bir ana bilgisayar yoktur. JetstreamV2 hizmeti, aynı HTTP/2 bağlantısı üzerinden sunulur ve gRPC metot yoluna göre yönlendirilir, bu nedenle tıpkı v1’de yapacağınız gibi altyapınıza en yakın bölgeye bağlanırsınız.
Jetstream, gRPC bağlantıları için düz http:// kullanır (https:// değil). gRPC, HTTP/2 üzerinde kendi taşıma güvenliği müzakeresini kullanır. https:// yalnızca özel düğümünüz bunu açıkça gerektiriyorsa kullanın.

Kimlik Doğrulama

Kimlik doğrulama v1 ile aynıdır: API anahtarınızı x-token gRPC meta veri başlığında sağlayın veya IP beyaz listesi kimlik doğrulamasını kullanın. Ayrıntılar için bkz. Kimlik Doğrulama.

Protocol Buffer Belirtimi

Bu belge, OrbitFlare Jetstream v2 tarafından kullanılan Protocol Buffer (protobuf) belirtimini özetlemektedir. Tam belirtim GitHub depomuzda bulunabilir; istemcinizi oluşturmak için jetstream_v2.proto dosyasını oradan indirin veya aşağıda çoğaltılan tanımı kullanın. jetstream.v2 paketi v1’den tamamen bağımsızdır; ondan ayrı bir istemci oluşturun.

Hizmet Tanımı

İstek Mesajları

SubscribeTransactions, çift yönlü bir akıştır. İstemci, akış açıkken aboneliğini yönetmek için bir dizi istek mesajı, her biri tam olarak bir yük taşıyan, gönderir.

SubscribeTransactionsRequest

Filtre Ekleme

Filtreler, akış açıkken dinamik olarak eklenir. Her filtre, eşleşen her işlemde ve doğrulama onayında geri yansıtılan, istemci tarafından seçilen bir filter_id taşır.
Bir filtre, account_include / account_exclude / account_required alanlarından en az birini belirtmelidir. Boş (her şeyle eşleşen) filtreler reddedilir; bkz. FilterResult.

Filtre Kaldırma

Yanıt Mesajları

SubscribeTransactionsResponse

Akıştaki her mesaj, istemcilerin boşlukları tespit edebilmesi için bir sunucu zaman damgası ve monoton olarak artan bir sequence numarası (akış başına) taşır. Tam olarak bir yük ayarlanır.

Filtre Doğrulama

Her AddFilters / RemoveFilters sonrasında sunucu, kabulü onaylayan veya reddi açıklayan, filtre başına bir FilterResult döndürür.

Heartbeat

Filtrelenmiş İşlem

Her eşleşen işlem, eşleştiği filter_id değerlerini listeler, ardından işlemin kendisi gelir.

Paylaşılan Türler

Slot Akışı

SubscribeSlots, slot yaşam döngüsü olaylarının bir sunucu akışıdır. Parametre almaz; akışı açın ve slotlar ilerledikçe olayları alın.

Akışsız Metotlar

Protokolü Kullanma

Tipik bir v2 istemcisi:
  1. Yukarıdaki jetstream.v2 tanımından istemci kodu oluşturur.
  2. SubscribeTransactions çift yönlü akışını açar ve kimlik doğrulaması yapar (x-token başlığı veya IP beyaz listesi).
  3. Her biri benzersiz bir filter_id içeren bir veya daha fazla TxFilter girişiyle bir AddFilters isteği gönderir.
  4. FilterResult onaylarını, ardından FilteredTransaction mesajlarının akışını okur.
  5. Akışı yeniden açmadan istediği zaman filtre ekler veya kaldırır.
  6. Boşlukları tespit etmek için sequence izler ve bir bağlantı kapanmasını yeniden bağlanma sinyali olarak değerlendirir.
  7. İsteğe bağlı olarak, slot yaşam döngüsü olayları için SubscribeSlots (ayrı bir akış) açar.

Kod Oluşturma

TypeScript/JavaScript için:
Rust için:

En İyi Uygulamalar

  1. Filtreleme
    • Her zaman en az bir hesap kısıtlaması ayarlayın; boş filtreler reddedilir.
    • Eşleşmeleri ilişkilendirebilmek ve filtreleri daha sonra kaldırabilmek için filtre başına kararlı, benzersiz bir filter_id kullanın.
  2. Zenginleştirme
    • Ek alanlara ihtiyacınız olmadıkça include_enrichment alanını kapalı bırakın; sade çıktı daha küçüktür. Bunu etkinleştirmek gecikme eklemez; tek maliyet biraz daha büyük bir mesajdır.
    • Zenginleştirme abonelik genelindedir: herhangi bir filtrede etkinleştirmek, oturumun aldığı her işlemi zenginleştirir.
  3. Sıra ve Yeniden Bağlanma
    • Bırakılan mesajları tespit etmek için sequence numarasını izleyin.
    • Otomatik yeniden bağlanma uygulayın; yeniden bağlanırken AddFilters isteğinizi yeniden gönderin.
  4. Canlılık
    • Akışın sağlıklı olduğunu doğrulamak ve gecikmeyi ölçmek için Heartbeat ve Ping/Pong kullanın.

Ayrıca Bakınız

Jetstream v2 Genel Bakış

v2’nin v1’e neler eklediği, akış modeli ve başlangıç.

Jetstream (v1) Referansı

v1 Protocol Buffer belirtimi.

Destek

v2 protokolü veya uygulama ayrıntıları hakkındaki teknik sorularınız için lütfen Discord topluluğumuza katılın.