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 RPCEfinity

¿Puedes comparar el acceso a nodos dedicados versus compartidos para proveedores de RPC de Solana?

El acceso compartido a RPC de Solana agrupa muchas aplicaciones en la misma infraestructura de nodos, lo que mantiene los costos bajos y la configurac...

RPC de redSolana

¿Qué es un RPC para Solana y cómo elegir el endpoint correcto?

Los endpoints RPC de Solana permiten que tu dApp lea el estado de la cadena, envíe transacciones y se suscriba a actualizaciones en tiempo real. Esta ...

Selección de proveedor RPCBNB Chain

¿Qué son los nodos BNB dedicados y cuándo deberías usarlos?

Los nodos BNB dedicados son nodos de BNB Chain (BSC) de un solo inquilino que brindan a tu aplicación acceso exclusivo a cómputo, memoria y ancho de b...

Selección de proveedor RPC

Cómo evaluar Alchemy como proveedor de RPC para tu proyecto Web3

Este artículo proporciona un marco estructurado para evaluar Alchemy como proveedor de RPC, cubriendo criterios clave como el conjunto de característi...

Selección de proveedor RPCSolana

¿Qué servicios RPC de Solana ofrecen API mejoradas adaptadas para datos de NFT y DeFi?

La mayoría de los proveedores RPC de Solana exponen la misma superficie JSON-RPC central, por lo que el verdadero diferenciador para cargas de trabajo...

RPC de testnetBNB Chain

BNB Smart Chain Testnet RPC: configuración de la cadena, faucet y depuración

BNB Smart Chain Testnet (chain ID 97) es donde validas contratos, billeteras e indexadores antes de tocar mainnet. Esta página te proporciona la confi...

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