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

# Cómo usar getSlotLeaders

> Conoce los casos de uso de getSlotLeaders, ejemplos de código, parámetros de solicitud, estructura de respuesta y recomendaciones.

El método RPC [`getSlotLeaders`](https://www.helius.dev/docs/api-reference/rpc/http/getslotleaders) te permite obtener una lista de claves públicas de los validadores programados como líderes para un rango específico de slots. Esto puede ser útil para comprender la próxima secuencia de productores de bloques.

## Casos de uso comunes

* **Predecir productores de bloques a corto plazo:** Identifica qué validadores deberían producir bloques próximamente para un rango limitado de slots.
* **Analizar la distribución de líderes:** Observa la secuencia de líderes de un segmento de una época.
* **Herramientas de análisis de red:** Las herramientas que supervisan o analizan el comportamiento de la red pueden usar este método para comprender los patrones de líderes.

## Parámetros de solicitud

1. **`startSlot`** (`u64`): (Obligatorio) El primer slot (incluido) para el que se obtendrá el calendario de líderes.
2. **`limit`** (`u64`): (Obligatorio) La cantidad de slots consecutivos cuyos líderes se obtendrán. El límite debe estar entre 1 y 5,000.

## Estructura de la respuesta

El campo `result` de la respuesta JSON-RPC es un arreglo de cadenas codificadas en base 58. Cada cadena es la clave pública (identidad) de un validador. El orden de las claves públicas en el arreglo corresponde al líder de cada slot del rango solicitado, comenzando desde `startSlot`.

**Ejemplo de respuesta (para un límite de 3 slots):**

```json theme={"system"}
{
  "jsonrpc": "2.0",
  "result": [
    "ValidatorPubkey1XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "ValidatorPubkey2XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "ValidatorPubkey3XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  ],
  "id": 1
}
```

## Ejemplos

### 1. Obtener los líderes de slots para un rango específico

Este ejemplo obtiene los líderes de 5 slots a partir de un slot especificado.

<CodeGroup>
  ```bash cURL theme={"system"}
  # Replace <api-key> with your Helius API key
  # Replace STARTING_SLOT with a recent or future slot number
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getSlotLeaders",
      "params": [
        180000000, 
        5          
      ]
    }'
  ```

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

  async function getUpcomingSlotLeaders() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    const startSlot = 180000000; // Replace with a recent or future slot number
    const limit = 5;

    try {
      const leaders = await connection.getSlotLeaders(startSlot, limit);
      console.log(`Slot leaders starting from slot ${startSlot} (limit ${limit}):`);
      leaders.forEach((leader, index) => {
        console.log(`  Slot ${startSlot + index}: ${leader}`);
      });
    } catch (error) {
      console.error('Error fetching slot leaders:', error);
    }
  }

  getUpcomingSlotLeaders();
  ```
</CodeGroup>

## Recomendaciones para desarrolladores

* **Límite:** El parámetro `limit` especifica cuántos líderes de slots consecutivos se devolverán, hasta un máximo de 5,000. Esto significa que puedes consultar con anticipación una cantidad considerable de slots dentro de una época.
* **Límites de las épocas:** El calendario de líderes se determina para una época completa, como se explica en nuestra guía sobre [Slots, bloques y épocas](https://www.helius.dev/blog/solana-slots-blocks-and-epochs). Este método te permite consultar partes de ese calendario. Si tu rango cruza el límite de una época, los líderes devueltos seguirán basándose en el calendario de la época a la que pertenece `startSlot`, hasta el límite que proporciones o hasta el final del calendario conocido de esa época si el nodo RPC no realiza una proyección más allá para esa llamada.
* **Slots futuros:** Puedes solicitar líderes para slots futuros. El nodo RPC devolverá los líderes programados según el calendario de líderes actual de la época correspondiente.
* **Precisión:** El calendario de líderes se mantiene fijo durante una época, por lo que los líderes devueltos suelen ser precisos, a menos que ocurran circunstancias excepcionales en la red o cambios en el conjunto de validadores que puedan afectar los cálculos de épocas posteriores.
* **Diferencia con `getLeaderSchedule`:** Mientras que `getSlotLeaders` te proporciona una lista directa para un rango, `getLeaderSchedule` proporciona el calendario completo de una época y asigna las identidades de los validadores a todos sus slots asignados dentro de esa época. `getSlotLeaders` es más directo si solo necesitas una lista secuencial para un rango específico y limitado.

Usa `getSlotLeaders` cuando necesites conocer la secuencia de productores de bloques para un próximo segmento definido de slots.

## Métodos relacionados

<CardGroup cols={2}>
  <Card title="getLeaderSchedule" href="/docs/es/api-reference/rpc/http/getleaderschedule">
    Obtén el calendario completo de líderes de una época
  </Card>

  <Card title="getSlotLeader" href="/docs/es/api-reference/rpc/http/getslotleader">
    Obtén el líder del slot actual
  </Card>
</CardGroup>
