Nasıl erişeceğiniz lisansınızın kimlik doğrulama moduna bağlıdır:
- IP Whitelist: bağlantı, lisansınızın beyaz listesindeki bir IP’den gelmelidir. Anahtar gerekmez ve başka bir IP’den tek başına anahtar sizi içeri almaz. Bir sunucunun hangi IP’den bağlandığını görmek için o sunucuda
curl -s ifconfig.meçalıştırın. - API Key Only: lisans anahtarınızı herhangi bir IP’den
x-tokenmetadata başlığında gönderin. gRPC’de sorgu dizesi yoktur vex-api-keykabul edilmez.
Bağlantıyı grpcurl ile kontrol edin
grpcurl bir gRPC metodunu komut satırından çağırır, böylece kod yazmadan erişimi test edebilirsiniz. Proto dosyalarını SDK deposundan geçerli klasöre indirin, ardından:-H bayrağını kaldırabilirsiniz. Bir sürüm dizesi, ana bilgisayara erişilebildiği ve erişim izninizin olduğu anlamına gelir. Başka bir şey görürseniz aşağıda arayın.
Hatalar ve anlamları
Erişim reddedildi
İki servis bunu farklı bildirir ve aynı mesaj her kimlik doğrulama modunda farklı anlamlara gelebilir.
Jetstream bağlantıyı herhangi bir gRPC durumu göndermeden kapatır, bu yüzden aldığınız tek işaret
EOF veya bir sıfırlamadır. Bir uç nokta lisansınızın kapsamında değilse, ona istek göndermek her iki modda da aynı EOF sonucunu verir. Lisansınızın hangi bölgeleri kapsadığını panelden kontrol edin.
SDK’lar bunları gRPC durum numarası ve uç noktayla sarar; örneğin Rust’ta grpc error (16): authentication required: provide x-token header veya Go’da grpc error (14): [http://ams.jetstream.orbitflare.com] error reading from server: EOF. 16 durumu Unauthenticated, 7 PermissionDenied ve 14 Unavailable anlamına gelir.
Aynı kod bir sunucudan çalışıp diğerinden başarısız oluyorsa, neredeyse kesinlikle IP Whitelist modundasınız ve ikinci sunucunun IP’si listede değil. API Key Only modunda her yerde başarısız oluyorsa, istemcinizin x-token başlığını gerçekten gönderdiğini kontrol edin.
Yanlış taşıma veya port
Bağlantı limitine ulaşıldı
RESOURCE_EXHAUSTED: connection limit exceeded, IP’nizin Jetstream, Yellowstone ve tüm bölgeler genelinde sayılan 50 açık gRPC bağlantısına zaten sahip olduğu anlamına gelir. Artık kullanmadığınız akışları kapatın ve her filtre için ayrı bir akış açmak yerine birkaç filtreyi tek bir akışa koyun. Bkz. bağlantı limitleri.
Bağlı ama hiçbir şey gelmiyor
Jetstream
Jetstream v2 her filtrenin kabul edilip edilmediğini bildirir. Yeni bir akıştaki ilk mesaj, gönderdiğiniz her filtre için birfilterValidation mesajıdır:
filterValidation mesajlarını loglayın ve piyasanın sakin olduğunu varsaymadan önce accepted değerini kontrol edin.
Diğer nedenler:
- Hesap istediniz. Jetstream yalnızca işlemleri akışla gönderir. Hesap filtreleri desteklenmez ve
accountsfiltresi içeren bir v1 aboneliği hiçbir şey göndermez. Hesap durumunu izlemek için Yellowstone kullanın. account_requiredçok katı.account_include, listelenen hesaplardan herhangi birini içeren bir işlemle eşleşir.account_requiredyalnızca hepsini içeren işlemlerle eşleşir.account_includeile başlayın ve oradan daraltın.SubscribeParsedçağırdınız. Bu metot uygulanmamıştır veUnavailable: EOFile kapanır.Subscribe(v1) veyaSubscribeTransactions(v2) kullanın ve talimatları kendiniz çözümleyin.
Yellowstone
- Filtre haritası boş. Filtresiz bir
SubscribeRequestgeçerlidir ve hiçbir şey döndürmez. Her filtrenin bir adı olmalıdır:{"accounts": {"my-filter": {"account": ["..."]}}}. - Hesap değişmiyor. Hesap filtreleri yalnızca hesap değiştiğinde güncelleme gönderir. Her slotta değişen
SysvarC1ock11111111111111111111111111111111ile test edin. - Başarısız işlemler filtreleniyor.
failed: false, hata veren her işlemi dışarıda bırakır. İşlemlerinizin zincire girip başarısız olup olmadığını görebilmek için hata ayıklarken bunu ayarlamayın. (votefiltresinin artık bir önemi yok: Alpenglow’dan bu yana doğrulayıcılar zincir dışında oy kullanır ve mainnet’te oy işlemi yoktur.)
Duran akışlar
Boştaki gRPC akışları yaklaşık 10 dakika sonra kapatılır. Akış üzerinden her 30 saniyede bir ping gönderin:- Jetstream v2:
SubscribeTransactionsakışında birpingmesajı gönderin. Sunucu aynı kimliği taşıyan birpongile yanıt verir. - Yellowstone: yalnızca
pingayarlanmış birSubscribeRequestgönderin. Bkz. Yellowstone hızlı başlangıç.