Ana içeriğe atla

Parametreler

config
object
Aşağıdaki isteğe bağlı alanları içeren yapılandırma nesnesi:

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": "getLargestAccounts"
}'

Filtreli İ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": "getLargestAccounts",
  "params": [
    {
      "filter": "circulating"
    }
  ]
}'

web3.js Kullanımı

import { Connection } from '@solana/web3.js';

const connection = new Connection('https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');

// Get all largest accounts
const largestAccounts = await connection.getLargestAccounts();
console.log('Largest accounts:', largestAccounts);

// Get circulating accounts only
const circulatingAccounts = await connection.getLargestAccounts({
  filter: 'circulating'
});
console.log('Largest circulating accounts:', circulatingAccounts);

Notlar

  1. Lamport bakiyesine göre ilk 20 hesabı döndürür
  2. Sonuçlar bakiyeye göre azalan sırayla sıralanır
  3. Dolaşımdaki hesaplar, sistem programına ait olmayanları kapsar
  4. Dolaşımda olmayan hesaplar genellikle sistem programına aittir
  5. Mevcut durumdan okuduğu için yanıt anında gelir

En İyi Uygulamalar

  1. İhtiyacınıza göre uygun onay seviyesini kullanın:
    • Arayüz güncellemeleri için processed
    • Çoğu işlem için confirmed
    • Kritik işlemler için finalized
  2. İlgili hesaplara odaklanmak için filter parametresini kullanın
  3. Kullanıcılara gösterirken lamportları SOL’a çevirmek için 1e9’a bölün
  4. RPC yükünü azaltmak için arayüz güncellemelerinde sonuçları önbelleğe almayı düşünün

Yaygın Hatalar

KodMesajÇözüm
-32602Invalid param: Invalid filter’circulating’ veya ‘nonCirculating’ kullanın
-32601Method not foundBir Solana RPC düğümüne bağlı olduğunuzu doğrulayın
-32007Account information unavailableDüğüm başlatılıyor veya senkronize ediliyor olabilir

Kullanım Senaryoları

  1. Ağ Analizi
    async function analyzeNetworkDistribution() {
      const accounts = await connection.getLargestAccounts();
      const total = accounts.reduce((sum, acc) => sum + acc.lamports, 0);
      const top20Percentage = accounts.reduce((sum, acc) => sum + acc.lamports, 0) / total;
      console.log(`Top 20 accounts hold ${top20Percentage * 100}% of total SOL`);
    }
    
  2. Token Dağıtımı İzleme
    async function monitorTokenDistribution() {
      const circulating = await connection.getLargestAccounts({ filter: 'circulating' });
      const nonCirculating = await connection.getLargestAccounts({ filter: 'nonCirculating' });
      
      const circulatingTotal = circulating.reduce((sum, acc) => sum + acc.lamports, 0);
      const nonCirculatingTotal = nonCirculating.reduce((sum, acc) => sum + acc.lamports, 0);
      
      console.log('Circulating supply:', circulatingTotal / 1e9, 'SOL');
      console.log('Non-circulating supply:', nonCirculatingTotal / 1e9, 'SOL');
    }