Logo
RPC Assistant

Endpoints públicos de la API de Solana: ¿cómo funcionan y cuándo son suficientes?

Resumen

Solana expone una API pública JSON-RPC para mainnet, devnet y testnet. Estos endpoints son gratuitos y útiles para prototipos, demos y desarrollo, pero son infraestructura compartida con límites de tasa y sin garantías de producción. Esta referencia explica los endpoints, cómo llamarlos, los modos de error comunes y los criterios para migrar a un servicio RPC de Solana gestionado o dedicado.

Solana expone una API pública JSON-RPC para cada uno de sus clústeres: mainnet, devnet y testnet. Estos endpoints son gratuitos y funcionan bien para desarrollo, demos y pequeños experimentos, pero son infraestructura compartida con límites de tasa y sin promesas de fiabilidad de nivel de producción. Esta referencia explica los endpoints de la API pública de Solana, cómo llamarlos, los modos de fallo comunes y los criterios para migrar a un servicio RPC de Solana gestionado o dedicado.

Lista de verificación para la API pública de Solana

  • Identifica tu clúster. Los endpoints públicos son específicos del clúster: mainnet, devnet o testnet.
  • Evalúa tu tráfico. Si esperas un volumen de solicitudes sostenido, un endpoint público puede devolver respuestas 429 o 403.
  • Revisa los límites de tasa. La documentación de Solana enumera los límites de los endpoints públicos, pero pueden cambiar en cualquier momento.
  • Confirma los métodos requeridos. La mayoría de los métodos JSON-RPC están disponibles, pero algunos métodos especializados o de archivo pueden estar limitados.
  • Evalúa las necesidades de WebSocket. Existen endpoints WebSocket públicos, pero también son compartidos y pueden perder suscripciones bajo carga.
  • Diseña para errores. Implementa backoff, reintentos y caché alrededor de las respuestas de los endpoints públicos.
  • Planifica para producción. Antes del lanzamiento en mainnet, revisa las opciones de RPC privado o nodos dedicados para evitar compartir capacidad con otros equipos.

¿Qué es la API pública de Solana?

La API pública de Solana es el conjunto de endpoints JSON-RPC y WebSocket operados por Solana Labs para cada clúster. Cualquier aplicación puede enviar solicitudes HTTP a estos endpoints para leer datos de cuentas, consultar bloques, simular transacciones o enviar transacciones firmadas. Los endpoints WebSocket permiten suscribirse a cambios de cuentas, firmas, programas y slots.

Los endpoints públicos son un punto de entrada conveniente porque no requieren clave API ni configuración. Sin embargo, son completamente compartidos. Esto significa que un pico de una dApp puede degradar la experiencia de todos los demás consumidores en el mismo endpoint. Por esta razón, la documentación de Solana describe explícitamente los endpoints públicos como aceptables para desarrollo, demos tempranas y pequeños programas beta privados, pero no para aplicaciones de producción.

La consulta "solana public api" suele llegar desde dos frentes: desarrolladores que necesitan las URL exactas de los endpoints y los valores de configuración, y equipos que deciden si un endpoint público es suficiente para su carga de trabajo. Este artículo cubre ambos.

Clústeres de Solana y endpoints de la API pública

Solana opera varios clústeres, cada uno con su propio ledger, token y conjunto de validadores. Cada solicitud RPC va a un clúster específico, por lo que el endpoint que elijas determina qué estado de la red lees y a dónde se envían las transacciones.

ClústerPropósitoEndpoint RPC público
MainnetRed de producción en vivo con SOL realhttps://api.mainnet.solana.com
DevnetRed de pruebas pública para desarrolladoreshttps://api.devnet.solana.com
TestnetActualizaciones de red y pruebas de validadoreshttps://api.testnet.solana.com

Para el desarrollo local, el binario solana-test-validator ejecuta un validador en tu máquina y expone un endpoint RPC HTTP local en http://localhost:8899 y un endpoint WebSocket en ws://localhost:8900.

Los endpoints públicos no son la única opción. Muchos proveedores de RPC, incluyendo OnFinality, ofrecen endpoints API de Solana gestionados con límites predecibles, así como nodos Solana dedicados para equipos que necesitan capacidad aislada. Un endpoint gestionado puede soportar la misma interfaz JSON-RPC que la API pública mientras añade infraestructura privada y soporte operativo.

Cómo llamar a la API pública de Solana

La API pública sigue la especificación estándar JSON-RPC 2.0. Envías una solicitud HTTP POST con un array jsonrpc, id, method y params opcional. La respuesta contiene un objeto jsonrpc, id y result o error.

El siguiente ejemplo de curl llama al método getSlot en mainnet con un commitment finalized. El commitment controla cuán finalizado debe estar un bloque antes de que el nodo devuelva datos; es uno de los parámetros más importantes en las llamadas RPC de Solana.

curl https://api.mainnet.solana.com -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getSlot",
  "params": [
    {
      "commitment": "finalized"
    }
  ]
}'

Una respuesta exitosa se ve así:

{
  "jsonrpc": "2.0",
  "result": 312345678,
  "id": 1
}

Para suscripciones WebSocket, conéctate a la URL WebSocket del clúster y envía una solicitud de suscripción, como accountSubscribe o slotSubscribe. Los endpoints WebSocket públicos también son gratuitos, pero pueden desconectar clientes inactivos o aplicar sus propios límites de tasa.

Límites de tasa y errores comunes de endpoints públicos

Los endpoints públicos de la API de Solana tienen límites de tasa para proteger la infraestructura compartida. Los límites exactos están documentados en la referencia del clúster de Solana, pero están sujetos a cambios sin previo aviso. Dos códigos de estado HTTP aparecen con frecuencia:

  • 429 Too Many Requests: Has superado el límite de tasa del endpoint.
  • 403 Forbidden: La solicitud fue bloqueada, a menudo por un firewall de aplicaciones web, debido a patrones de tráfico sospechosos o abuso.

Estos errores no son bugs en tu código; son la API pública indicando que su capacidad compartida se ha agotado. Si tu aplicación no los maneja, verás fallos intermitentes difíciles de reproducir.

Para solucionar los límites de tasa en la API pública, puedes reducir la frecuencia de solicitudes, cachear llamadas costosas como getProgramAccounts y getSignaturesForAddress, y usar solicitudes por lotes cuando sea posible. Sin embargo, esas técnicas solo reducen la carga; no eliminan el problema fundamental de compartir capacidad con todos los demás.

Cuándo migrar más allá de la API pública

Una dApp de producción en Solana mainnet no debería depender de la API pública por varias razones:

  • Sin garantías de capacidad: Tus solicitudes compiten con todos los demás usuarios.
  • Cambios en los límites de tasa: Puede que encuentres que tu aplicación se rompe cuando se ajustan los límites.
  • Profundidad de archivo limitada: La API pública no es un nodo de archivo, por lo que el acceso histórico puede no estar disponible para todos los slots.
  • Sin capacidad WebSocket dedicada: Los feeds de datos en vivo pueden perderse bajo carga.
  • Sin contrato de soporte: No tienes a nadie a quien contactar si el endpoint no está disponible.

En este punto, los equipos suelen evaluar un servicio RPC gestionado o un nodo dedicado. Un servicio gestionado te da un endpoint privado con límites de solicitud definidos, mientras que un nodo dedicado te da cómputo y ancho de banda aislados. Ambos enfoques eliminan el problema del vecino ruidoso y proporcionan una base más estable para el tráfico de producción.

OnFinality es uno de los proveedores que ofrece ambas opciones. Puedes solicitar un endpoint público de Solana a través del servicio, acceder a capacidad de nivel superior en una API RPC gestionada, o aprovisionar un nodo Solana dedicado para aislamiento completo. Para una lista completa de cadenas soportadas, consulta la página de redes RPC soportadas.

Cómo evaluar alternativas a la API pública de Solana

Cuando comparas proveedores de API de Solana, el área de superficie es mayor que un único número de latencia. La elección correcta depende de tu patrón de tráfico, requisitos de datos y presupuesto. La siguiente tabla resume los criterios que importan para la mayoría de los equipos de Solana.

CriterioQué verificarPor qué importa
Tipo de endpoint¿Es un endpoint gestionado compartido o un nodo dedicado?Los endpoints compartidos son más baratos pero siguen sujetos a vecinos ruidosos; los nodos dedicados proporcionan recursos aislados.
Límites de solicitud¿Cuál es el número sostenido de solicitudes por segundo o la asignación mensual de solicitudes?Los límites de la API pública son opacos y cambiantes; las aplicaciones de producción necesitan una cuota predecible.
Datos de archivo¿El proveedor ofrece acceso histórico a slots y cuentas?El análisis, la indexación y los rellenos requieren rango de archivo, no solo estado reciente.
Soporte WebSocket¿El endpoint WebSocket está cubierto por el mismo SLA y capacidad?Las suscripciones en vivo son críticas para dApps en tiempo real y herramientas de trading.
Cobertura de clústeres¿Están disponibles mainnet, devnet y testnet?Quieres que el mismo proveedor maneje los clústeres de desarrollo y producción.
Soporte de métodos¿Están disponibles todos los métodos JSON-RPC, incluidos los más nuevos?Algunos proveedores filtran métodos costosos como getProgramAccounts.
Failover¿Qué sucede si un solo nodo o región falla?Los servicios gestionados deberían enrutar alrededor de nodos no saludables sin que tengas que cambiar URLs.
Modelo de costos¿El precio es por solicitud, por mes o por instancia dedicada?Haz coincidir el modelo de facturación con tu variabilidad de tráfico y presupuesto.

Si ya estás usando la API pública y solo necesitas un poco más de margen, un endpoint RPC gestionado compartido suele ser el siguiente paso más fácil. Si necesitas garantizar la latencia de respuesta o ejecutar indexación pesada, un nodo dedicado puede ser más apropiado. Puedes revisar ambos enfoques en la página de precios de RPC.

Consejos de producción para clientes RPC de Solana

Incluso con un endpoint RPC privado, la forma en que construyes tu cliente tiene un gran impacto en el rendimiento y el costo.

  • Usa el nivel de commitment correcto. processed es el más nuevo pero puede reorganizarse; confirmed es más seguro; finalized es el más lento pero canónico. No uses finalized por defecto para cada lectura si tu aplicación tolera ligeras reorganizaciones.
  • Cachea llamadas costosas. getProgramAccounts y getSignaturesForAddress son costosas para los nodos de Solana. Sírvelas desde una caché siempre que sea posible.
  • Agrupa solicitudes independientes. Muchas llamadas JSON-RPC se pueden agrupar en una sola solicitud HTTP, reduciendo los viajes de ida y vuelta y el consumo del límite de tasa.
  • Prefiere suscripciones WebSocket al polling. Las suscripciones reducen el número de llamadas de solicitud-respuesta y mantienen el estado actualizado.
  • Maneja los reintentos con elegancia. Usa backoff exponencial en errores transitorios como 429 o 503, pero evita tormentas de reintentos que amplifiquen la carga.
  • Monitorea los tiempos de respuesta. Realiza un seguimiento de la latencia de tu RPC y la tasa de error para que notes cuándo un proveedor o una región específica se degrada.

Estas optimizaciones son aún más importantes en la API pública, donde cada llamada desperdiciada compite con el resto del ecosistema.

Conclusiones clave

  • La API pública de Solana es un endpoint JSON-RPC y WebSocket gratuito para mainnet, devnet y testnet.
  • Los endpoints públicos son útiles para desarrollo, demos y pruebas tempranas, pero son compartidos y tienen límites de tasa.
  • Los errores comunes de la API pública son HTTP 429 (límite de tasa) y HTTP 403 (tráfico bloqueado), ambos requieren manejo en el cliente.
  • Las cargas de trabajo de producción deberían evaluar RPC gestionado o nodos dedicados para obtener capacidad predecible, acceso a archivo y soporte operativo.
  • Al elegir un proveedor, compara el tipo de endpoint, los límites de solicitud, la cobertura WebSocket, el soporte de clústeres, la disponibilidad de métodos y el modelo de costos.

Preguntas frecuentes

¿Es gratuita la API pública de Solana?

Sí, los endpoints RPC públicos de Solana Labs son gratuitos. Son infraestructura compartida, por lo que tienen límites de tasa y no ofrecen garantía de disponibilidad de producción.

¿Cuál es la diferencia entre la API pública de Solana y un endpoint RPC privado?

Un endpoint RPC privado está dedicado a tu aplicación o a un pequeño grupo de clientes, proporcionando una capacidad más predecible y a menudo características adicionales como datos de archivo y soporte WebSocket.

¿Qué endpoint de la API pública de Solana debería usar para desarrollo?

Usa https://api.devnet.solana.com para desarrollo y pruebas. Puedes obtener SOL de devnet desde el faucet de Solana para pagar las tarifas de transacción.

¿Puedo usar la API pública para una dApp de producción?

La documentación de Solana desaconseja usar endpoints públicos para tráfico de producción. Están diseñados para desarrollo y pruebas tempranas, no para carga de producción sostenida.

¿OnFinality proporciona una API pública de Solana?

OnFinality proporciona endpoints RPC de Solana gestionados e infraestructura de nodos dedicados. Puedes comenzar con un endpoint de Solana en la página de la red de Solana y revisar las opciones de capacidad en la página de precios de RPC.

Base de conocimiento RPC

Detalles RPC relacionados

Nunca te preocupes por la infraestructura nuevamente

OnFinality elimina la carga pesada de DevOps para que puedas construir de forma más inteligente y rápida.

Comenzar