Skip to main content

Kurulum

İstemciyi oluşturma

Minimal:
URL, ayarlanmazsa ORBITFLARE_JETSTREAM_URL ortam değişkenine düşer. Tüm builder yöntemleri gRPC istemcisi ile aynıdır — aynı varsayılanlar, aynı davranış.

YAML yapılandırması yazma

JetStream işlem ve hesap filtrelerini destekler. Slot, blok veya taahhüt yok — bunlar Yellowstone’a özgüdür.

YAML filtre referansı

transactions — adlı filtreler. account_include, bu adresleri içeren işlemlerle eşleşir. account_exclude eşleşmeleri çıkarır. account_required listelenen tüm adreslerin görünmesini gerektirir. accountsaccount ile belirli adresleri veya owner ile bir programa ait tüm hesapları izleyin. ${ENV_VAR} genişletmesini destekler.

Olaylara abone olma ve okuma

YAML’dan

Programatik olarak

Tiplenmiş builder ile

SubscribeRequestBuilder ve TransactionFilter, proto’yu elle yazmadan aynı isteği oluşturur. Her TransactionFilter; account_include, account_exclude ve account_required sunar ve string benzeri değerlerden oluşan herhangi bir yineleyiciyi (iterator) kabul eder.

Akışı okuma

Kapatma, birden çok akış, yeniden bağlanma ve ping/pong, gRPC istemcisi ile birebir aynı şekilde çalışır.

Tam örnek

Raydium AMM takaslarını izleyen ve her işlemin imzası ile talimat sayısını yazdıran bir akış.
Bu jetstream.yml ile:

JetStream v2

JetStream v2 (orbitflare_sdk::jetstream::v2), v1 ile aynı uç noktalar ve kimlik doğrulama üzerinde çalışır ve tamamen eklemelidir: v1 değişmeden çalışmaya devam eder. v2’nin eklediği özellikler:
  • Çalışma zamanında yönetilen filtreler — canlı bir akışta yeniden bağlanmadan filtre ekleyin ve kaldırın.
  • Mesaj başına sıra numaraları — her yanıt monotonik bir sequence taşır, böylece düşen mesajları tespit edebilirsiniz.
  • İsteğe bağlı zenginleştirme — işlem başına ücret ödeyeni, program kimliklerini, hesaplama birimi fiyatını, hesaplama limitini, çözümlenmiş adres tablosu adreslerini ve daha fazlasını isteyin.
  • Slot yaşam döngüsü olayları — slot alive/complete/dead olaylarının ayrı bir sunucu akışı.
v2 istemcisi jetstream::v2 altında bulunur. Builder, v1 ile aynıdır (aynı yöntemler, varsayılanlar, ORBITFLARE_JETSTREAM_URL ortam değişkeni ve yük devretme):

Tiplenmiş filtreler oluşturma

Her filtre, istemci tarafından seçilen bir kimliğe (.with_id() ile) sahip bir TransactionFilter’dır. Bu kimlik, eşleşen her işlemde ve filtre doğrulama onayında geri yansıtılır, böylece eşleşmeleri ilişkilendirebilir ve filtreyi daha sonra kaldırabilirsiniz.
Bir filtre account_include, account_exclude veya account_required alanlarından en az birini ayarlamalıdır; boş (her şeyle eşleşen) filtreler reddedilir. include_enrichment isteğe bağlıdır (varsayılan kapalı) ve tüm aboneliğe uygulanır: herhangi bir etkin filtre bunu etkinleştirirse, aldığınız her işlem zenginleştirilir.

İşlemlere abone olma

Canlı bir akışta filtreleri yönetme

Akıştan bir handle alın ve yeniden bağlanmadan filtre ekleyin veya kaldırın. Kaldırmalar, .with_id() ile atadığınız filtre kimliğine başvurur.

Slot yaşam döngüsü olayları

subscribe_slots() ayrı bir sunucu akışıdır ve filtre almaz.

Sağlık probları

get_version() ve ping(), akışlarla aynı yük devretmeye sahip tekil (unary) çağrılardır.
Tam protobuf spesifikasyonu, mesaj şekilleri, zenginleştirme alanları ve slot durumları için JetStream v2 Protokol Referansı bölümüne bakın.