Kurulum
İstemciyi oluşturma
.Build(ctx)’in, dönmeden önce WebSocket bağlantısını kurduğunu unutmayın - geçirilen context, ilk bağlantıyı yönetir. Bağlantı başarısız olursa hatayı hemen alırsınız. İstemci daha sonra Close()’a kadar çalışır.
Builder yöntemleri
.URL(url) - Birincil WebSocket uç noktası. ORBITFLARE_WS_URL ortam değişkenine düşer.
.URLs(urls...) - Tek çağrıda birincil + yedekler.
.FallbackURL(url) / .FallbackURLs(urls...) - Yedek uç noktalar ekler. Yeniden bağlanırken SDK aralarında döner.
.APIKey(key) - Lisans anahtarı. ORBITFLARE_LICENSE_KEY ortam değişkenine düşer. Bağlantı anında URL’ye eklenir, loglara veya hatalara asla yazdırılmaz.
.Retry(policy) - Yeniden bağlanma backoff’u. Varsayılan: 100 ms başlangıç, 30 s maksimum, 2x çarpan, sonsuz deneme.
.PingInterval(duration) - SDK’nın WebSocket Ping çerçevelerini ne sıklıkta gönderdiği. Varsayılan 10 s.
.MaxMissedPongs(n) - Bağlantı kapatılmadan önce yanıtsız kalabilecek ping sayısı. Varsayılan 3.
.Logger(logger) - Bağlantı yaşam döngüsü olayları için bir *slog.Logger. Ayarlanmazsa ORBITFLARE_LOG ile denetlenir.
Kullanılabilir abonelikler
SlotSubscribe(ctx)
Bir slot her işlendiğinde, onaylandığında veya finalize edildiğinde tetiklenir.
slot, parent ve root alanları olan bir JSON’dur:
AccountSubscribe(ctx, address, commitment)
Belirtilen hesabın verisi değiştiğinde tetiklenir.
LogsSubscribe(ctx, mentions, commitment)
Verilen adresleri anan işlemler için tetiklenir. Tüm işlemler için boş bir dilim geçin.
SignatureSubscribe(ctx, signature, commitment)
Bir işlem verilen commitment düzeyine ulaştığında bir kez tetiklenir. Az önce gönderdiğiniz bir işlemi onaylamak için kullanışlıdır.
Olayları okuma
Tüm abonelikler bir*ws.Subscription döndürür. Sonraki olayı almak için Next(ctx) çağırın:
Next(ctx), (json.RawMessage, bool) döndürür. ok false olduğunda abonelik sona ermiştir (context iptal edildi veya istemci kapandı).
Abonelikten çıkma
Birden çok abonelik
Tüm abonelikler tek bir WebSocket bağlantısında çalışır. SDK, bildirimleri içeride doğru aboneliğe yönlendirir.Yeniden bağlanma
Bağlantı koparsa, arka plan goroutine’i üstel backoff ile yeniden bağlanır ve her şeyi otomatik olarak yeniden abone eder.Next(ctx) çağrılarınız çalışmaya devam eder - bağlantı geri geldiğinde olaylar kaldığı yerden sürer.