Logo
Nuevos usuarios de RPC: 35% de descuento el primer mesVer oferta
RPC Assistant

Endpoint RPC de Solana: Cómo conectarse, configurar y depurar

Resumen

Un endpoint RPC de Solana es la URL que tu dApp o validador usa para enviar solicitudes JSON-RPC a la red de Solana. Esta página explica los endpoints de mainnet y devnet, cómo configurarlos en tu código y cómo depurar problemas comunes de conexión. Para cargas de trabajo de producción, un endpoint RPC gestionado o dedicado de OnFinality proporciona fiabilidad y escalabilidad.

Guía rápida de decisión: ¿qué endpoint RPC de Solana deberías usar?

Antes de entrar en la configuración, decide qué tipo de endpoint se adapta a tu caso de uso:

  • Endpoints RPC públicos (como https://solana.api.onfinality.io/public) son gratuitos y adecuados para desarrollo, pruebas y aplicaciones de bajo tráfico. Tienen límites de tasa y son compartidos, por lo que no son adecuados para cargas de trabajo de producción.
  • Endpoints RPC gestionados de un proveedor como OnFinality ofrecen límites de tasa más altos, soporte WebSocket y fiabilidad para dApps de producción. Son un buen punto intermedio para la mayoría de los proyectos.
  • Nodos dedicados de Solana te dan un endpoint privado y aislado sin compartir y con control total. Elige esto para aplicaciones de alto rendimiento, validadores o cuando necesites un rendimiento consistente.

Si estás construyendo una aplicación de producción, omite el endpoint público y ve directamente a una solución gestionada o dedicada. Consulta precios de RPC y redes soportadas para ver tus opciones.

¿Qué es un endpoint RPC de Solana?

Un endpoint RPC de Solana es una URL que acepta solicitudes JSON-RPC sobre HTTP o WebSocket. Actúa como puerta de enlace entre tu aplicación y la cadena de bloques de Solana. Cada transacción, consulta de cuenta e invocación de programa pasa por un endpoint RPC.

La API RPC de Solana se basa en JSON-RPC 2.0. Envías una solicitud POST con un método y parámetros, y el endpoint devuelve un resultado o error. Los endpoints WebSocket te permiten suscribirte a cambios de cuenta, registros de programa y confirmaciones de transacción.

Endpoints de mainnet y devnet de Solana

Solana tiene varios clústeres. Los dos más comunes son mainnet-beta (producción) y devnet (desarrollo). Aquí están los endpoints públicos oficiales de OnFinality:

ClústerEndpoint HTTPEndpoint WebSocket
Mainnethttps://solana.api.onfinality.io/publicwss://solana.api.onfinality.io/public-ws
DevnetVer Solana DevnetVer Solana Devnet

Nota: Los endpoints públicos tienen límites de tasa y son compartidos. Para producción, usa un endpoint gestionado o dedicado de OnFinality.

Cómo conectarse a un endpoint RPC de Solana

Puedes interactuar con un endpoint RPC de Solana usando curl, bibliotecas de JavaScript como @solana/web3.js, o cualquier cliente HTTP. Aquí tienes un ejemplo básico de curl para obtener el último blockhash:

curl https://solana.api.onfinality.io/public \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getLatestBlockhash"}'

La respuesta se verá así:

{
  "jsonrpc": "2.0",
  "result": {
    "blockhash": "5xYk...",
    "lastValidBlockHeight": 123456
  },
  "id": 1
}

Usando @solana/web3.js

Para dApps de JavaScript, la biblioteca @solana/web3.js es el estándar. Configura la conexión con tu endpoint:

import { Connection } from '@solana/web3.js';

const connection = new Connection('https://solana.api.onfinality.io/public', 'confirmed');

// Obtener el último blockhash
const { blockhash } = await connection.getLatestBlockhash();
console.log(blockhash);

Para suscripciones WebSocket, usa la URL WebSocket:

import { Connection } from '@solana/web3.js';

const wsEndpoint = 'wss://solana.api.onfinality.io/public-ws';
const connection = new Connection(wsEndpoint, 'confirmed');

// Suscribirse a cambios de cuenta
const subscriptionId = connection.onAccountChange(
  somePublicKey,
  (accountInfo) => console.log(accountInfo)
);

Métodos RPC comunes de Solana

La API RPC de Solana incluye muchos métodos. Aquí están los más utilizados:

  • getBalance – obtener el saldo de SOL de una cuenta.
  • getLatestBlockhash – obtener el blockhash actual para firmar transacciones.
  • sendTransaction – enviar una transacción firmada.
  • getTransaction – obtener detalles de una transacción.
  • getAccountInfo – recuperar datos de una cuenta.
  • getProgramAccounts – obtener todas las cuentas propiedad de un programa.
  • getSlot – obtener el slot actual.
  • getBlock – obtener información de un bloque.
  • getSignaturesForAddress – listar firmas de transacciones para una dirección.
  • onAccountChange (WebSocket) – suscribirse a actualizaciones de cuenta.
  • onLogs (WebSocket) – suscribirse a registros de programa.

Para una lista completa, consulta la documentación de Solana.

Depuración de problemas de conexión RPC de Solana

Si tienes problemas para conectarte, aquí hay síntomas comunes y soluciones:

SíntomaCausa posibleSolución
429 Too Many RequestsLímite de tasa excedidoUsa un endpoint gestionado o dedicado, o reduce la frecuencia de solicitudes.
403 ForbiddenIP bloqueada o no autorizadaVerifica tu clave de API o usa un endpoint público.
TimeoutProblema de red o endpoint sobrecargadoReintenta con backoff, o cambia a un proveedor más fiable.
Invalid paramsSolicitud JSON-RPC malformadaValida la estructura de tu solicitud.
Desconexiones WebSocketConexión inestableImplementa lógica de reconexión.
Blockhash not foundTransacción demasiado antiguaObtén un nuevo blockhash y vuelve a enviar.

Prueba rápida con curl

Para verificar que tu endpoint es accesible, ejecuta:

curl https://solana.api.onfinality.io/public -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}'

Un nodo sano devuelve {"result":"ok"}.

Consideraciones de producción para RPC de Solana

Al pasar a producción, considera lo siguiente:

  • Límites de tasa: Los endpoints públicos tienen límites estrictos. Los endpoints gestionados ofrecen mayor rendimiento.
  • Estabilidad de WebSocket: Para funciones en tiempo real, asegúrate de que tu proveedor soporte WebSocket y maneje reconexiones.
  • Latencia geográfica: Elige un endpoint cercano a tus usuarios para reducir la latencia.
  • Datos de archivo: Si necesitas estado histórico, puede que necesites un nodo de archivo.
  • Failover: Implementa múltiples endpoints y lógica de failover para evitar tiempo de inactividad.

OnFinality proporciona nodos dedicados de Solana y servicios RPC gestionados que abordan estas preocupaciones.

Conclusiones clave

  • Un endpoint RPC de Solana es la URL para solicitudes JSON-RPC a la red de Solana.
  • Usa endpoints públicos para desarrollo, pero cambia a gestionados o dedicados para producción.
  • Configura tu conexión con la URL HTTP o WebSocket correcta.
  • Depura problemas comunes verificando límites de tasa, formato de solicitud y estabilidad de red.
  • Para producción, evalúa proveedores según límites de tasa, soporte WebSocket y fiabilidad.

Preguntas frecuentes

¿Cuál es la URL del endpoint RPC de Solana?

El endpoint público de mainnet es https://solana.api.onfinality.io/public. Para WebSocket, usa wss://solana.api.onfinality.io/public-ws. Para devnet, consulta Solana Devnet.

¿Cómo obtengo un endpoint RPC de Solana?

Puedes usar un endpoint público de forma gratuita, o registrarte en un servicio RPC gestionado como OnFinality para obtener un endpoint dedicado con límites más altos.

¿Cuál es la diferencia entre endpoints RPC HTTP y WebSocket?

HTTP es para llamadas de solicitud-respuesta, mientras que WebSocket permite suscripciones en tiempo real. Usa WebSocket para funciones como actualizaciones de cuenta en vivo.

¿Puedo usar un endpoint RPC de Solana gratis?

Sí, los endpoints públicos son gratuitos pero con límites de tasa. Para producción, considera un plan de pago.

¿Cómo elijo un proveedor de RPC de Solana?

Evalúa proveedores según límites de tasa, soporte WebSocket, tiempo de actividad y precios. Consulta nuestra comparación de proveedores de RPC de Solana para obtener orientación.

Base de conocimiento RPC

Detalles RPC relacionados

Selección de proveedor RPCArbitrum

¿Qué es un nodo RPC de Arbitrum y cómo elegir el adecuado?

Un nodo RPC de Arbitrum es un endpoint que permite a tu dApp leer y escribir datos en Arbitrum One, Nova o la testnet Sepolia. Elegir el proveedor de ...

RPC de redPhala

Puntos de conexión RPC de Phala: Configuración de la cadena, guía de conexión y recursos para desarrolladores

Phala Network es una parachain de Polkadot que proporciona contratos inteligentes confidenciales mediante Entornos de Ejecución Confiables (TEE). Para...

Infraestructura blockchainKusama

Validador de Kusama: Requisitos, Configuración y Compensaciones Operativas

Aprende qué se necesita para ejecutar un validador de Kusama, desde requisitos de hardware y staking hasta la configuración del nodo y las operaciones...

Selección de proveedor RPCOptimism

How to Evaluate Optimism RPC Providers for Reliability in Production Apps?

When selecting an Optimism RPC provider, reliability goes beyond uptime. This article covers the key criteria to evaluate: endpoint consistency, archi...

RPC de redEthereumSolanaPolygonBasepeaqMultichain

¿Cómo deben evaluar los desarrolladores los endpoints RPC en Sepolia, Polygon, Solana Devnet, Base Sepolia y peaq?

Elegir el endpoint RPC adecuado es fundamental para el rendimiento y la confiabilidad de una dApp. Esta guía analiza los criterios clave de evaluación...

Selección de proveedor RPCSolana

¿Qué hace que un RPC de Solana sea rápido y cómo eliges el endpoint más rápido para tu aplicación?

La velocidad de un RPC de Solana depende de más que el rendimiento bruto: la distancia geográfica, la ruta de red, el ajuste del hardware y los método...

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