Ana içeriğe atla

Documentation Index

Fetch the complete documentation index at: https://docs.orbitflare.com/llms.txt

Use this file to discover all available pages before exploring further.

Prototip aşamasını geçip üretim arka planı, indeksleyici, ticaret botu veya uzun süreli bir ajan işçisi yayınlarken Rust SDK’ya başvurun. Ham HTTP istekleri, gRPC kanalları ve WebSocket bağlantılarını kendiniz yönetmek yerine SDK; bağlantı yaşam döngüsü, kimlik doğrulama, yeniden denemeler, yedek uç nokta ve yeniden bağlanmayı tertemiz bir API’nin arkasında halleder.
Claude Code veya Cursor’da etkileşimli ajan iş akışları için MCP sunucusunu tercih edin. Kabuk betikleri ve CI için CLI daha uygundur. SDK, ajanlarınızın yazdığı bağımsız çalışan üretim kodu içindir.

Kurulum

cargo add orbitflare-sdk                          # yalnızca RPC
cargo add orbitflare-sdk --features ws            # + WebSocket
cargo add orbitflare-sdk --features grpc          # + Yellowstone gRPC
cargo add orbitflare-sdk --features jetstream      # + Jetstream
Gerektiğinde özellikleri birleştirin; örn. her iki yüzeye de abone olan bir indeksleyici için --features "ws grpc".

Neler dahil

HizmetNe yapar
RPCYaygın Solana yöntemleri için tiplenmiş yardımcılar ve ham kaçış noktaları içeren JSON-RPC istemcisi
WebSocketYeniden bağlanmada otomatik yeniden abonelik ile hesaplar, günlükler, slotlar, imzalar
gRPC (Yellowstone)İşlemler, hesaplar, slotlar ve bloklar için Yellowstone Geyser akışı. YAML yapılandırması veya programatik filtreler
JetStreamgRPC akışları olarak OrbitFlare’ın çözümlenmiş shred’leri. Yellowstone ile aynı istemci deseni, farklı proto

Ortam değişkenleri

Uç noktaları açıkça geçmezseniz SDK ortamdan okur. Ajan tarafından üretilen kod için önerilen desendir: ajan URL veya anahtarları sabitlemek zorunda kalmaz, aynı ikili bölgeler ve ağlar arasında çalışır.
DeğişkenKullananAmaç
ORBITFLARE_LICENSE_KEYRPC, WebSocketUç nokta URL’lerine eklenen API anahtarı
ORBITFLARE_RPC_URLRPC.url() çağrılmazsa varsayılan uç nokta
ORBITFLARE_WS_URLWebSocket.url() çağrılmazsa varsayılan uç nokta
ORBITFLARE_GRPC_URLgRPC.url() çağrılmazsa varsayılan uç nokta
ORBITFLARE_JETSTREAM_URLJetStream.url() çağrılmazsa varsayılan uç nokta

Hızlı örnek

Uç noktasını ortamdan okuyan ve bakiyeyi yeniden deneme / yedek uç nokta ile otomatik sorgulayan minimal bir RPC ajanı:
use orbitflare_sdk::{RpcClientBuilder, Result};

#[tokio::main]
async fn main() -> Result<()> {
    let client = RpcClientBuilder::new().build()?;     // reads ORBITFLARE_RPC_URL + LICENSE_KEY
    let lamports = client.get_balance("Gh9ZwEm...").await?;
    println!("{} SOL", lamports as f64 / 1e9);
    Ok(())
}
Açık yedek bölgelerle:
let client = RpcClientBuilder::new()
    .urls(&[
        "http://ny.rpc.orbitflare.com",
        "http://fra.rpc.orbitflare.com",
        "http://ams.rpc.orbitflare.com",
    ])
    .build()?;
İlk URL birincil; kalanlar hata halinde sırayla denenen yedeklerdir.

Yellowstone gRPC ile akış

use orbitflare_sdk::{GeyserClientBuilder, Result};

#[tokio::main]
async fn main() -> Result<()> {
    let client = GeyserClientBuilder::new()
        .url("http://fra.rpc.orbitflare.com:10000")
        .build()?;

    let mut stream = client.subscribe_yaml("stream.yml")?;
    while let Some(update) = stream.next().await {
        // process update
    }
    Ok(())
}
subscribe_yaml filtreleri bir YAML yapılandırmasından okur; programatik filtreler için bunun yerine client.subscribe(SubscribeRequest { .. }) kullanın. Jetstream istemcisi bu deseni yansıtır. GeyserClientBuilder yerine JetstreamClientBuilder koyun.

Ham HTTP yerine SDK kullanma nedenleri

Ajan tarafından yazılan üretim kodunda SDK, yanlış yapılması kolay çapraz kesen kaygıları halleder:
  • yapılandırılabilir üstel geri çekilme ile yeniden denemeler
  • Çok bölgeli yedek uç nokta: birincil başarısız olunca yedekler sırayla
  • Kimlik enjeksiyonu: lisans anahtarı her isteğe eklenir, uç noktada saklanmaz
  • WebSocket yeniden bağlanma: abonelikler kopma sonrası otomatik yenilenir
  • gRPC kanal yönetimi: keepalive, yeniden bağlanma, geri çekilme
  • Tiplenmiş yanıtlar: yaygın yöntemler Rust yapılarına ayrıştırılır; geri kalanı için ham kaçışlar
Bir ajandan OrbitFlare entegrasyonu yazdırırken onu SDK’ya yönlendirin; sonuç kod küçük, idiomatik ve dayanıklı kalır.

Kaynak