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

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

El método RPC [`getFirstAvailableBlock`](https://www.helius.dev/docs/api-reference/rpc/http/getfirstavailableblock) devuelve el número de slot del bloque confirmado más antiguo que el nodo consultado aún no ha eliminado del libro mayor. Esto resulta útil para conocer el rango de datos históricos que almacena actualmente un nodo específico.

## Casos de uso comunes

* **Consultas de datos históricos:** Determina el punto de partida desde el que puedes comenzar a consultar datos históricos de bloques o transacciones en un nodo específico.
* **Comprobaciones de sincronización de nodos:** Aunque no es una medida directa de la sincronización, puede darte una idea de cuántos datos históricos conserva un nodo en comparación con otros.
* **Análisis del libro mayor:** Conoce la profundidad del libro mayor disponible en un punto de conexión RPC determinado.

## Parámetros de solicitud

Este método no recibe ningún parámetro.

## Estructura de la respuesta

El campo `result` de la respuesta JSON-RPC será un `u64` (entero sin signo de 64 bits) que representa el número de slot del primer bloque disponible.

## Ejemplos

### 1. Obtén el slot del primer bloque disponible

Este ejemplo obtiene el slot del bloque más antiguo disponible en el nodo consultado.

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

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  const { Connection } = require('@solana/web3.js');

  async function logFirstAvailableBlock() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const firstAvailableBlock = await connection.getFirstAvailableBlock();
      console.log(`First Available Block Slot: ${firstAvailableBlock}`);
    } catch (error) {
      console.error('Error fetching first available block:', error);
    }
  }

  logFirstAvailableBlock();
  ```
</CodeGroup>

## Consejos para desarrolladores

* **Específico de cada nodo:** El primer bloque disponible puede variar significativamente entre distintos nodos RPC. Los nodos pueden configurarse para depurar los datos del libro mayor a diferentes velocidades, por lo que un nodo podría tener un historial mucho más extenso que otro.
* **No es fijo:** El valor que devuelve `getFirstAvailableBlock` aumentará con el tiempo a medida que los slots más antiguos se eliminen del libro mayor para ahorrar espacio.
* **Bloques confirmados:** Este método hace referencia a bloques confirmados. No se tienen en cuenta los bloques que se han procesado, pero aún no se han confirmado o finalizado.

Esta guía explica cómo usar el método RPC `getFirstAvailableBlock` para identificar el slot de bloque disponible más antiguo en un nodo de Solana.
