Ana içeriğe atla

Parametreler

pubkeys
array
Hesap açık anahtarları dizisi (base-58 kodlu)
config
object

Yanıt

result
object

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

  1. Tek bir istekte birden fazla hesap için bilgi döndürür
  2. Mevcut olmayan hesaplar null olarak döndürülür
  3. Yanıt boyutunu azaltmak için hesap verisi dilimlere ayrılabilir
  4. Mevcut durumdan okuduğu için yanıt anında gelir
  5. Hesap verisi için farklı kodlamalar belirtilebilir

En İyi Uygulamalar

  1. Birden fazla hesabı verimli şekilde almak için bu metodu kullanın
  2. Yanıt boyutunu azaltmak için dataSlice kullanmayı düşünün
  3. RPC yükünü azaltmak için uygun durumlarda sonuçları önbelleğe alın
  4. Mevcut olmayan hesaplar için null değerleri yönetin
  5. İhtiyaçlarınıza göre uygun kodlamayı kullanın

Yaygın Hatalar

KodMesajÇözüm
-32601Method not foundBir Solana RPC düğümüne bağlı olduğunuzu doğrulayın
-32602Invalid paramsAçık anahtarları ve yapılandırma parametrelerini kontrol edin
-32007Account information unavailableDüğüm başlatılıyor veya senkronize ediliyor olabilir