Solana RPC Metodları ve Dokümantasyonu

HTTP ve Websocket metodları aracılığıyla JSON RPC API kullanarak Solana düğümleriyle doğrudan etkileşime geçin.

Durum Taahhüdünü Yapılandırma

Uçuş öncesi kontroller ve işlem işleme için Solana düğümleri, istemci tarafından belirlenen bir taahhüt gereksinimini temel alarak hangi banka durumunu sorgulayacağını seçer. Taahhüt, bir bloğun o zaman noktasında ne kadar sonlandırıldığını açıklar. Defter durumunu sorgularken, ilerlemeyi raporlamak için daha düşük taahhüt seviyelerini ve durumun geri alınmayacağından emin olmak için daha yüksek seviyeleri kullanmak önerilir.

Taahhüt sırasına göre azalan şekilde (en sonlandırılmıştan en az sonlandırılmışa), istemciler şunları belirtebilir:

  • finalized - düğüm, kümenin büyük çoğunluğu tarafından maksimum kilitlemeye ulaştığı onaylanan en son bloğu sorgulayacaktır, bu da kümenin bu bloğu sonlandırılmış olarak tanıdığı anlamına gelir
  • confirmed - düğüm, kümenin büyük çoğunluğu tarafından oy verilmiş en son bloğu sorgulayacaktır.
    • Dedikodu ve tekrar oynatmadan gelen oyları içerir.
    • Bir bloğun alt öğelerine verilen oyları değil, yalnızca o bloğa doğrudan verilen oyları sayar.
    • Bu onay seviyesi ayrıca 1.3 sürümü ve sonrasında "iyimser onay" garantilerini de destekler.
  • processed - düğüm en son bloğunu sorgulayacaktır. Bloğun hala küme tarafından atlanabileceğini unutmayın.

Seri olarak birçok bağımlı işlemi işlemek için, hız ile geri alma güvenliği arasında denge kuran confirmed taahhüdünü kullanmak önerilir. Tam güvenlik için finalized taahhüdünü kullanmak önerilir.

Varsayılan Taahhüt

Eğer taahhüt yapılandırması sağlanmazsa, düğüm varsayılan olarak finalized taahhüdünü kullanacaktır

Yalnızca banka durumunu sorgulayan yöntemler taahhüt parametresini kabul eder. Bunlar aşağıdaki API Referansında belirtilmiştir.

RpcResponse Yapısı

Taahhüt parametresi alan birçok yöntem, iki kısımdan oluşan bir RpcResponse JSON nesnesi döndürür:

  • context : İşlemin değerlendirildiği slot alanını içeren bir RpcResponseContext JSON yapısı.
  • value : İşlemin kendisi tarafından döndürülen değer.

Ayrıştırılmış Yanıtlar

Bazı yöntemler encoding parametresini destekler ve eğer "encoding":"jsonParsed" talep edilirse ve düğümün sahip program için bir ayrıştırıcısı varsa, hesap veya talimat verilerini ayrıştırılmış JSON formatında döndürebilir. Solana düğümleri şu anda aşağıdaki yerel ve SPL programları için JSON ayrıştırmayı desteklemektedir:

ProgramHesap DurumuTalimatlar
Address Lookupv1.15.0v1.15.0
BPF Loadern/akararlı
BPF Upgradeable Loaderkararlıkararlı
Configkararlı
SPL Associated Token Accountn/akararlı
SPL Memon/akararlı
SPL Tokenkararlıkararlı
SPL Token 2022kararlıkararlı
Stakekararlıkararlı
Votekararlıkararlı

Hesap ayrıştırıcılarının listesi burada, ve talimat ayrıştırıcıları burada bulunabilir.

Filtreleme kriterleri

Bazı yöntemler, RpcResponse JSON nesnesi içinde döndürülen verilerin ön filtrelemesini etkinleştirmek için bir filters nesnesi sağlamayı destekler. Aşağıdaki filtreler mevcuttur:

  • memcmp: object - program account verileriyle belirli bir başlangıç noktasından itibaren sağlanan bir dizi baytı karşılaştırır. Alanlar:

    • offset: usize - karşılaştırmaya başlamak için program account verilerindeki konum
    • bytes: string - kodlanmış dize olarak eşleştirilecek veri
    • encoding: string - filtre bytes verisi için kodlama, "base58" veya "base64" olabilir. Veri boyutu, çözülmüş halde 128 veya daha az bayt ile sınırlıdır.
      YENİ: Bu alan ve genel olarak base64 desteği, yalnızca solana-core v1.14.0 veya daha yeni sürümlerde kullanılabilir. Daha eski sürümlerdeki düğümleri sorgularken lütfen bu alanı kullanmayın
  • dataSize: u64 - program account veri uzunluğunu sağlanan veri boyutuyla karşılaştırır

Is this page helpful?

İçindekiler

Sayfayı Düzenle