Ana içeriğe atla
TypeScript Apex istemcisi ayrı bir paket değil, @orbitflare/sdk paketinin bir parçasıdır. Apex ile yalnızca HTTP JSON-RPC üzerinden konuşur. TypeScript için henüz bir QUIC taşıma yöntemi yoktur, çünkü Node’da gönderim yapmaya yetecek kadar güvenilir bir QUIC uygulaması bulunmuyor. QUIC üzerinden en düşük gecikmeli yol için Rust istemcisini veya Go istemcisini kullanın.

Kurulum

@solana/kit ve iki program paketi işlemi oluşturur ve imzalar. Apex istemcisinin kendisi yalnızca @orbitflare/sdk paketine ihtiyaç duyar. Apex API anahtarınızı, bakiyesi olan bir anahtar çiftini ve blockhash ile onay için bir Solana RPC uç noktasını ayarlayın. Örnek, lisans anahtarınızla OrbitFlare RPC kullanır:

Hızlı Başlangıç

Bu program, minimum bahşişle seçtiğiniz bir adrese (varsayılan olarak kendisine) 1.000 lamport gönderir ve ardından işlemin bloğa girmesini bekler. send.ts olarak kaydedin ve npx tsx send.ts ile çalıştırın.
Aşağıdaki kod parçaları bu programdaki apex, solana ve imzalı işlem baytlarını (wire) yeniden kullanır.

Gönderme

Tek bir işlemi iki yöntem gönderir. İkisi de uç nokta işlemi kabul eder etmez imzayı döndürür.
İkisi de isteğe bağlı mevProtect (Shield engelleme listesindeki liderleri atlar, MEV koruması sayfasına bakın) ve maxRetries (Apex’in kaç kez yeniden göndereceğini sınırlar) seçeneklerini alır ve o çağrı için oluşturucu varsayılanlarını geçersiz kılar. Bir işlem 1 ile 4.096 bayt (APEX_MAX_TRANSACTION_SIZE) arasında olmalıdır.

Toplu Gönderimler

sendBatch, tek bir istekte en fazla 16 işlem (APEX_MAX_BATCH) gönderir. Her işlem ayrı ayrı kontrol edilir ve yarıştırılır, dolayısıyla hatalı bir işlem diğerlerini durdurmaz.

Paketler

sendBundle, yalnızca Jito liderleri üzerinden, birlikte bloğa giren ya da hiç girmeyen 1 ila 4 işlem (APEX_MAX_BUNDLE) gönderir. Paketteki işlemlerden tam olarak biri bahşişi taşır.
state değeri Pending, Landed, Failed veya Invalid olur. Paket durumları zincirin gerisinde kalabilir, bu yüzden yalnızca durumu beklemek yerine paketin signatures değerlerini waitForConfirmation ile onaylayın. Kurallar ve hız sınırları için Paketler sayfasına bakın.

Bahşişler ve Onay

Bahşiş kuralları Bahşişler sayfasındadır.

Bölgeler ve Yedekleme

Birincil uç noktaya yapılan bir istek başarısız olduğunda istemci yedekleri sırayla dener. Bölge kodları fra, ams, dub, lon, nyc, slc, sgp, tyo, sqq ve global (en yakın sağlıklı uç nokta) şeklindedir. Hiçbir bölge ayarlanmamışsa istemci önce ORBITFLARE_APEX_URL, ardından ORBITFLARE_APEX_REGION, ardından Frankfurt’u kullanır. Uç noktalar sayfasına bakın.

Seçenekler

Varsayılan olarak istemci uç nokta başına bir deneme yapar ve yeniden denemek yerine doğrudan bir sonraki yedeğe geçer. Bu bilinçli bir tercihtir: Apex’in zaten kabul ettiği bir işlemi yeniden göndermek hız sınırınızı boşa harcar ve Apex kabul edilen işlemleri kendisi yeniden göndermeye devam eder.

Bağlantıyı Sıcak Tutun

apex.ping(), GET /ping çağrısını yapar ve uç nokta pong yanıtını verdiğinde çözümlenir. Bunu birkaç saniyede bir çağırmak HTTP bağlantısını açık tutar, böylece bir sonraki gönderim TCP el sıkışmasını atlar.

Hatalar

Her hata, bir kind alanına sahip bir OrbitflareError değeridir: Apex hata kodları ve hız sınırları Hatalar ve hız sınırları sayfasında listelenmiştir.