> ## 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 getSlotLeader

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

Metode RPC [`getSlotLeader`](https://www.helius.dev/docs/api-reference/rpc/http/getslotleader) mengembalikan kunci publik validator yang menjadi pemimpin saat ini untuk produksi blok, berdasarkan tampilan node pada tingkat komitmen tertentu. Pemimpin bertanggung jawab memproduksi blok untuk slot saat ini.

## Kasus Penggunaan Umum

* **Mengidentifikasi Produsen Blok Saat Ini:** Cari tahu validator mana yang saat ini dijadwalkan untuk memproduksi blok.
* **Pemantauan Jaringan:** Amati rotasi pemimpin slot.
* **Men-debug Masalah Transaksi:** Dalam beberapa skenario lanjutan, mengetahui pemimpin slot saat ini mungkin relevan jika transaksi dikirim langsung kepada pemimpin (meskipun ini bukan praktik umum di sisi klien).

## Parameter Permintaan

Metode ini menerima objek konfigurasi opsional sebagai parameter pertamanya:

1. **`options`** (`object`, opsional): Objek konfigurasi opsional dengan bidang berikut:
   * **`commitment`** (`string`, opsional): Menentukan [tingkat komitmen](https://www.helius.dev/blog/solana-commitment-levels) untuk kueri. Nilai yang didukung adalah `finalized`, `confirmed`, atau `processed`. Jika dihilangkan, komitmen default node RPC akan digunakan (biasanya `finalized`). Pemimpin slot ditentukan berdasarkan slot yang sesuai dengan tingkat komitmen ini.
   * **`minContextSlot`** (`number`, opsional): Slot minimum tempat permintaan dapat dievaluasi. Ini menetapkan slot minimum untuk konteks node.

## Struktur Respons

Bidang `result` dari respons JSON-RPC adalah satu string berenkode base-58 yang mewakili kunci publik (identitas) pemimpin slot saat ini.

**Contoh Respons:**

```json theme={"system"}
{
  "jsonrpc": "2.0",
  "result": "ENvAW7JScgYq6o4zKZwewtkzzJgDzuJAFxYasvmEQdpS",
  "id": 1
}
```

## Contoh

### 1. Mendapatkan Pemimpin Slot Saat Ini (Komitmen Default)

Contoh ini mengambil pemimpin slot saat ini menggunakan tingkat komitmen default node (biasanya `finalized`).

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

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

  async function getCurrentSlotLeader() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const slotLeader = await connection.getSlotLeader();
      console.log('Current slot leader (default commitment):', slotLeader);
    } catch (error) {
      console.error('Error fetching current slot leader:', error);
    }
  }

  getCurrentSlotLeader();
  ```
</CodeGroup>

### 2. Mendapatkan Pemimpin Slot Saat Ini dengan Komitmen `confirmed`

Contoh ini mengambil pemimpin slot untuk slot terbaru yang telah mencapai komitmen `confirmed`.

<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": "getSlotLeader",
      "params": [
        {
          "commitment": "confirmed"
        }
      ]
    }'
  ```

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

  async function getConfirmedSlotLeader() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const slotLeader = await connection.getSlotLeader('confirmed');
      console.log('Current slot leader (confirmed commitment):', slotLeader);
      // Note: For @solana/web3.js v1.30.0 and later, you can pass commitment directly.
      // For older versions or more complex options, use an object:
      // const slotLeader = await connection.getSlotLeader({ commitment: 'confirmed' });
    } catch (error) {
      console.error('Error fetching confirmed slot leader:', error);
    }
  }

  getConfirmedSlotLeader();
  ```
</CodeGroup>

## Tips untuk Developer

* **Sifat Dinamis:** Pemimpin slot sering berubah (setiap beberapa slot, biasanya 4). Hasil panggilan ini merupakan cuplikan pada suatu waktu berdasarkan tampilan node saat ini dan komitmen yang dipilih.
* **Tingkat Komitmen:** Tingkat komitmen memengaruhi slot mana yang dianggap "saat ini" untuk menentukan pemimpin. Menggunakan `processed` akan memberikan pemimpin dari slot paling baru yang diketahui node. Pemimpin ini dapat berubah dengan cepat dan mungkin belum dikonfirmasi oleh jaringan yang lebih luas.
* **Jadwal Pemimpin:** Urutan pemimpin slot ditentukan oleh jadwal pemimpin, yang dihitung pada awal setiap epoch. Panduan kami tentang [Slot, Blok, dan Epoch](https://www.helius.dev/blog/solana-slots-blocks-and-epochs) memberikan detail lebih lanjut tentang proses ini. Untuk tampilan yang lebih lengkap mengenai pemimpin mendatang, gunakan `getLeaderSchedule`.
* **Perspektif Node:** Pemimpin slot yang dikembalikan didasarkan pada informasi yang tersedia bagi node RPC tertentu yang Anda kueri. Node yang berbeda mungkin memiliki tampilan yang sedikit berbeda akibat latensi jaringan.

`getSlotLeader` menyediakan cara cepat untuk mengidentifikasi validator yang saat ini bertanggung jawab memproduksi blok. Untuk melihat rotasi pemimpin secara lebih luas, pertimbangkan `getLeaderSchedule`.

## Metode Terkait

<CardGroup cols={2}>
  <Card title="getLeaderSchedule" href="/docs/id/api-reference/rpc/http/getleaderschedule">
    Dapatkan jadwal pemimpin lengkap untuk suatu epoch
  </Card>

  <Card title="getSlotLeaders" href="/docs/id/api-reference/rpc/http/getslotleaders">
    Dapatkan pemimpin untuk rentang slot mendatang
  </Card>
</CardGroup>
