> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Cara Menggunakan getLargestAccounts

> Pelajari kasus penggunaan getLargestAccounts, contoh kode, parameter permintaan, struktur respons, dan tips.

Metode RPC [`getLargestAccounts`](https://www.helius.dev/docs/api-reference/rpc/http/getlargestaccounts) mengembalikan daftar 20 akun terbesar di jaringan Solana, yang diurutkan berdasarkan saldo lamport. Metode ini dapat digunakan untuk analisis jaringan, memahami distribusi kekayaan, atau mengidentifikasi pemilik SOL dalam jumlah besar.

Perhatikan bahwa hasil dari metode ini dapat disimpan dalam cache oleh node RPC hingga dua jam.

## Kasus Penggunaan Umum

* **Pemantauan Kondisi Jaringan:** Amati konsentrasi SOL di akun-akun terbesar.
* **Analisis Ekonomi:** Pelajari distribusi kekayaan di jaringan Solana.
* **Mengidentifikasi Pemilik Besar:** Temukan akun yang menyimpan SOL dalam jumlah besar.

## Parameter Permintaan

Metode ini dapat menerima objek konfigurasi secara opsional dengan parameter berikut:

* **`commitment`** (string, opsional): Menentukan [tingkat komitmen](https://www.helius.dev/blog/solana-commitment-levels) yang akan digunakan saat membuat kueri ke ledger. Jika tidak diberikan, komitmen default node akan digunakan.
* **`filter`** (string, opsional): Memfilter hasil berdasarkan jenis akun. Nilai yang diterima adalah:
  * `circulating`: Mengembalikan akun terbesar yang merupakan bagian dari pasokan beredar.
  * `nonCirculating`: Mengembalikan akun terbesar yang bukan bagian dari pasokan beredar (misalnya, akun terkunci dan akun yayasan).
    Jika tidak disertakan, semua akun akan dipertimbangkan tanpa filter khusus ini.

## Struktur Respons

Bidang `result` dalam respons JSON-RPC akan berupa objek `RpcResponse`. Bidang `value` dalam objek ini adalah larik yang berisi hingga 20 objek akun, yang masing-masing memuat:

* **`address`** (string): Kunci publik akun yang dienkode dengan base-58.
* **`lamports`** (u64): Saldo akun dalam lamport.

Respons juga menyertakan objek `context` dengan `slot` tempat informasi tersebut diambil.

## Contoh

### 1. Mendapatkan 20 Akun Terbesar (Tanpa Filter)

Contoh ini mengambil 20 akun terbesar berdasarkan saldo lamport tanpa filter pasokan apa pun.

<CodeGroup>
  ```bash cURL theme={"system"}
  # Replace <api-key> with your Helius API key
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getLargestAccounts"
    }'
  ```

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  // Replace <api-key> with your Helius API key
  const { Connection } = require('@solana/web3.js');

  async function logLargestAccounts() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const largestAccounts = await connection.getLargestAccounts();
      console.log(`Largest Accounts (Slot: ${largestAccounts.context.slot}):`);
      largestAccounts.value.forEach((account, index) => {
        console.log(
          `  ${index + 1}. Address: ${account.address}, Balance: ${account.lamports / 10**9} SOL`
        );
      });
      // For full raw details:
      // console.log(JSON.stringify(largestAccounts, null, 2));
    } catch (error) {
      console.error('Error fetching largest accounts:', error);
    }
  }

  logLargestAccounts();
  ```
</CodeGroup>

### 2. Mendapatkan 20 Akun Beredar Terbesar

Contoh ini mengambil 20 akun terbesar yang dianggap sebagai bagian dari pasokan beredar.

<CodeGroup>
  ```bash cURL theme={"system"}
  # Replace <api-key> with your Helius API key
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getLargestAccounts",
      "params": [{ "filter": "circulating" }]
    }'
  ```

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  // Replace <api-key> with your Helius API key
  const { Connection } = require('@solana/web3.js');

  async function logLargestCirculatingAccounts() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const largestAccounts = await connection.getLargestAccounts({ filter: 'circulating' });
      console.log(`Largest Circulating Accounts (Slot: ${largestAccounts.context.slot}):`);
      largestAccounts.value.forEach((account, index) => {
        console.log(
          `  ${index + 1}. Address: ${account.address}, Balance: ${account.lamports / 10**9} SOL`
        );
      });
      // console.log(JSON.stringify(largestAccounts, null, 2));
    } catch (error) {
      console.error('Error fetching largest circulating accounts:', error);
    }
  }

  logLargestCirculatingAccounts();
  ```
</CodeGroup>

## Tips untuk Developer

* **Data yang Disimpan dalam Cache:** Hasil dapat disimpan dalam cache oleh node RPC hingga dua jam. Artinya, data mungkin tidak tersedia secara real-time hingga blok terbaru.
* **Terbatas pada 20 Akun Terbesar:** Metode ini hanya mengembalikan 20 akun terbesar. Untuk analisis distribusi kekayaan yang lebih menyeluruh, sumber data atau metode lain mungkin diperlukan.
* **Perilaku Filter:** Filter `circulating` dan `nonCirculating` bergantung pada definisi dan sumber data node RPC untuk klasifikasi tersebut.

Panduan ini memberikan informasi yang diperlukan untuk menggunakan metode RPC `getLargestAccounts` guna membuat kueri untuk pemilik SOL terbesar di jaringan Solana.
