Parametreler
Alınacak bloğun slot numarası
Aşağıdaki isteğe bağlı alanları içeren yapılandırma nesnesi:
İşlem verisi için kodlama formatı:
json - JSON formatı
jsonParsed - Ayrıştırılmış işlem verisiyle JSON formatı
base58 - Base-58 kodlu ikili veri
base64 - Base-64 kodlu ikili veri
Döndürülecek işlem detayı seviyesi:
full - Tam işlem verisi
signatures - Yalnızca işlem imzaları
none - İşlem verisi yok
Ödüller dizisinin doldurulup doldurulmayacağı
Sorgulanacak banka durumu:
processed - En son blok (onaylanmamış)
confirmed - Süper çoğunluk tarafından onaylanmış
finalized - Süper çoğunluk tarafından sonuçlandırılmış
maxSupportedTransactionVersion
Yanıtlarda döndürülecek maksimum işlem sürümü
Yanıt
Blok bulunamazsa null döndürür. Aksi takdirde şunları içeren bir nesne döndürür:
Bu bloğun blockhash’i (base-58)
Önceki bloğun blockhash’i (base-58)
İşlem bilgisi dizisi (transactionDetails != “none” ise):
full için: Tam işlem nesneleri
signatures için: Yalnızca işlem imzaları
Ödül nesneleri dizisi (rewards = true ise):
pubkey: string - Açık anahtar (base-58)
lamports: number - Ödül lamport sayısı
postBalance: number - Ödül sonrası hesap bakiyesi
rewardType: string - Ödül türü
commission: number - Oy hesabı komisyonu (yalnızca oy)
Tahmini üretim zamanı (Unix zaman damgası)
Bu bloğun altındaki blok sayısı
Kod Örnekleri
Temel İstek
curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0",
"id": 1,
"method": "getBlock",
"params": [
430,
{
"encoding": "json",
"transactionDetails": "full",
"rewards": true
}
]
}'
Ayrıştırılmış İşlem Verisiyle İstek
curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0",
"id": 1,
"method": "getBlock",
"params": [
430,
{
"encoding": "jsonParsed",
"transactionDetails": "full",
"rewards": true,
"maxSupportedTransactionVersion": 0
}
]
}'
web3.js Kullanımı
import { Connection } from '@solana/web3.js';
const connection = new Connection('https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');
const slot = 430;
const block = await connection.getBlock(
slot,
{
maxSupportedTransactionVersion: 0
}
);
Notlar
- Blok üretim zamanı, genesis blok zamanına ve geçen slotlara göre tahmini bir değerdir.
- Tüm bloklar ödül içermez.
jsonParsed kodlaması, bilinen program düzenlerine dayalı olarak işlem talimat verilerini ayrıştırmaya çalışır.
- Bazı bloklar atlanmış olabilir (lider atanmamış veya blok üretimi başarısız).
- Blok verileri, defter yapılandırmasına göre düğümden silinmiş olabilir.
En İyi Uygulamalar
- Yalnızca işlem imzalarına ihtiyacınız varsa
transactionDetails: "signatures" kullanın.
- Ödül verisi gerekmiyorsa
rewards: false ayarlayın.
- En son bloğa ihtiyacınız varsa önce
getBlockHeight kullanmayı düşünün.
- Gerçek zamanlı güncellemeler için WebSocket aboneliği kullanmayı düşünün.
Yaygın Hatalar
| Kod | Mesaj | Çözüm |
|---|
| -32004 | Block not available for slot | Blok silinmiş veya atlanmış |
| -32602 | Invalid param: WrongSize | Slot numarasının geçerli olduğunu doğrulayın |
| -32602 | Invalid param: Too large | Daha yakın tarihli bir blok isteyin |
| -32009 | Transaction version unsupported | maxSupportedTransactionVersion belirtin |