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 gelirconfirmed
- 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ğislot
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:
Program | Hesap Durumu | Talimatlar |
---|---|---|
Address Lookup | v1.15.0 | v1.15.0 |
BPF Loader | n/a | kararlı |
BPF Upgradeable Loader | kararlı | kararlı |
Config | kararlı | |
SPL Associated Token Account | n/a | kararlı |
SPL Memo | n/a | kararlı |
SPL Token | kararlı | kararlı |
SPL Token 2022 | kararlı | kararlı |
Stake | kararlı | kararlı |
Vote | kararlı | 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 konumbytes: string
- kodlanmış dize olarak eşleştirilecek veriencoding: string
- filtrebytes
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?