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

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

El endpoint [`getHealth`](https://www.helius.dev/docs/api-reference/rpc/http/gethealth) se usa para comprobar el estado actual de un nodo RPC de Solana. Por lo general, un nodo se considera saludable si está operativo y razonablemente sincronizado con el resto del clúster (específicamente, si se encuentra dentro de una distancia determinada de slots respecto al último slot confirmado del clúster, conocida como `HEALTH_CHECK_SLOT_DISTANCE`).

Este endpoint es crucial para monitorear el estado de los nodos, especialmente en aplicaciones o infraestructuras que dependen de la disponibilidad y confiabilidad de un nodo RPC.

## Cómo funciona

El método `getHealth` usa el mecanismo POST estándar de JSON-RPC con el método `getHealth`. Este método comprueba si el nodo RPC está saludable y sincronizado con el clúster de Solana.

## Casos de uso comunes

* **Monitoreo de nodos:** Comprueba periódicamente el estado de los nodos RPC para asegurarte de que estén operativos y sincronizados.
* **Balanceo de carga:** Usa comprobaciones de estado para determinar si un nodo debe recibir tráfico en una configuración con balanceo de carga.
* **Sistemas de conmutación por error:** Activa la conmutación a un nodo de respaldo si un nodo principal deja de estar saludable.
* **Depuración de conectividad:** Determina rápidamente si un nodo RPC responde.

## Parámetros de solicitud

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

## Estructura de la respuesta

* **Para una solicitud POST de JSON-RPC `getHealth`:**
  * **`result`**: `"ok"` si el nodo está saludable.
  * Si el nodo no está saludable, puede devolver un objeto de error u otros valores de cadena (como `"behind"` o `"unknown"`), aunque la respuesta de error exacta puede ser inestable o variar entre proveedores.

## Ejemplos

### 1. Comprobar el estado del nodo mediante JSON-RPC (POST con cURL)

<CodeGroup>
  ```bash cURL (JSON-RPC POST) 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": "getHealth"
    }'
  ```

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

  async function checkRpcHealth(rpcUrl) {
      const connection = new Connection(rpcUrl);
      try {
          const health = await connection.rpcRequest('getHealth', []);
          console.log(`getHealth result for ${rpcUrl}:`, health);
          return health.result;
      } catch (error) {
          console.error(`Error calling getHealth for ${rpcUrl}:`, error.message);
          return null;
      }
  }

  // Example usage:
  checkRpcHealth('https://mainnet.helius-rpc.com/?api-key=<api-key>');
  ```
</CodeGroup>

**Respuesta JSON-RPC esperada (para un nodo saludable):**

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

## Consejos para desarrolladores

* **Definición de saludable:** Por lo general, «saludable» significa que el nodo responde y no está demasiado retrasado respecto a la punta del clúster. La diferencia exacta de slots (`HEALTH_CHECK_SLOT_DISTANCE`) puede configurarse en el nodo.
* **Interpretación de `"behind"` o `"unknown"`:** Si recibes `"behind {distance}"` o `"unknown"`, el nodo está operativo, pero es posible que no esté completamente actualizado o que no pueda determinar su estado con respecto al clúster. Según los requisitos de tu aplicación, puedes tratar estos estados de manera diferente.
* **Diferencias entre proveedores:** El comportamiento exacto y los códigos o cuerpos de respuesta de un nodo que no está saludable pueden variar ligeramente entre proveedores de RPC.
* **Manejo de errores:** Implementa siempre un manejo de errores adecuado al llamar a `getHealth`, ya que los problemas de red o del nodo pueden hacer que la solicitud falle por completo.

Esta guía proporciona la información necesaria para usar el endpoint `getHealth` a fin de monitorear el estado de un nodo RPC de Solana.
