Parametreler
Hesap açık anahtarları dizisi (base-58 kodlu)
Onay seviyesi (processed, confirmed, finalized)
Hesap verisi için kodlama formatı (base58, base64, jsonParsed)
Okumaya başlanacak hesap verisi ofseti
Yanıt
Hesap bilgisi nesneleri dizisi veya mevcut olmayan hesaplar için nullBelirtilen kodlamada hesap verisi
Hesabın çalıştırılabilir olup olmadığı
Lamport cinsinden hesap bakiyesi
Hesap sahibi (base-58 kodlu)
Hesabın bir sonraki kira borcunun olacağı dönem
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": "getMultipleAccounts",
"params": [
["ACCOUNT1", "ACCOUNT2", "ACCOUNT3"]
]
}'
Kodlamayla İ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": "getMultipleAccounts",
"params": [
["ACCOUNT1", "ACCOUNT2"],
{
"encoding": "base64",
"dataSlice": {
"offset": 0,
"length": 100
}
}
]
}'
web3.js Kullanımı
import { Connection, PublicKey } from '@solana/web3.js';
const connection = new Connection('https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');
// Get multiple accounts
const accounts = await connection.getMultipleAccounts([
new PublicKey('ACCOUNT1'),
new PublicKey('ACCOUNT2')
]);
console.log('Accounts:', accounts.value);
// Get account data slices
async function getAccountDataSlices(
pubkeys: PublicKey[],
offset: number,
length: number
) {
const accounts = await connection.getMultipleAccounts(pubkeys, {
encoding: 'base64',
dataSlice: { offset, length }
});
return accounts.value.map((account, index) => ({
pubkey: pubkeys[index].toBase58(),
exists: account !== null,
data: account?.data[0],
lamports: account?.lamports
}));
}
Notlar
- Tek bir istekte birden fazla hesap için bilgi döndürür
- Mevcut olmayan hesaplar null olarak döndürülür
- Yanıt boyutunu azaltmak için hesap verisi dilimlere ayrılabilir
- Mevcut durumdan okuduğu için yanıt anında gelir
- Hesap verisi için farklı kodlamalar belirtilebilir
En İyi Uygulamalar
- Birden fazla hesabı verimli şekilde almak için bu metodu kullanın
- Yanıt boyutunu azaltmak için dataSlice kullanmayı düşünün
- RPC yükünü azaltmak için uygun durumlarda sonuçları önbelleğe alın
- Mevcut olmayan hesaplar için null değerleri yönetin
- İhtiyaçlarınıza göre uygun kodlamayı kullanın
Yaygın Hatalar
| Kod | Mesaj | Çözüm |
|---|
| -32601 | Method not found | Bir Solana RPC düğümüne bağlı olduğunuzu doğrulayın |
| -32602 | Invalid params | Açık anahtarları ve yapılandırma parametrelerini kontrol edin |
| -32007 | Account information unavailable | Düğüm başlatılıyor veya senkronize ediliyor olabilir |