Logo
RPC Assistant

¿Qué es un servidor RPC de Stellar y cómo se usa?

Resumen

Un servidor RPC de Stellar es un servicio ligero que proporciona acceso en tiempo real a los datos de la red Stellar, incluido el estado del libro mayor, los saldos de cuentas y las interacciones con contratos inteligentes Soroban. Está diseñado para desarrolladores que crean billeteras, emisores de activos o herramientas de monitoreo que necesitan una puerta de enlace directa a la red sin ejecutar Stellar Core o Horizon. Este artículo explica qué es Stellar RPC, en qué se diferencia de Horizon y cómo conectarse a un endpoint público o dedicado para cargas de trabajo de producción.

Guía rápida de decisión: ¿ejecutar el tuyo o usar un proveedor?

Antes de profundizar en endpoints y métodos, decide cómo quieres acceder a Stellar RPC. La elección afecta sus gastos operativos, retención de datos y costo.

  • Ejecute su propio servidor RPC de Stellar si necesita control total sobre su infraestructura, desea evitar dependencias de terceros o necesita personalizar la configuración de RPC. Esto requiere ejecutar Stellar Core y administrar una instancia de core cautiva, lo cual no es trivial.
  • Use un proveedor de RPC de Stellar administrado si desea concentrarse en la lógica de su aplicación en lugar de las operaciones de nodo. Los proveedores manejan el tiempo de actividad, el escalado y el mantenimiento. OnFinality ofrece un endpoint público de mainnet de Stellar y opciones de nodos dedicados, que puede explorar en la página de red Stellar.

Para aplicaciones Soroban de producción, un nodo dedicado o un endpoint privado suele ser la opción adecuada porque los endpoints públicos a menudo tienen límites de tasa y rendimiento compartido. Si solo está creando prototipos, un endpoint público es suficiente.

¿Qué es un servidor RPC de Stellar?

Un servidor RPC de Stellar es un servicio ligero que proporciona acceso en tiempo real a los datos de la red Stellar. Es la forma recomendada para que los desarrolladores consulten la red, envíen transacciones e interactúen con contratos inteligentes Soroban. El servidor expone una API JSON-RPC que le permite leer el estado del libro mayor, los saldos de cuentas y el estado de las transacciones.

Stellar RPC no es un indexador. Retiene solo una ventana limitada y reciente de historial, aproximadamente 7 días por defecto. Tampoco es un reemplazo directo para Horizon, que proporciona funciones de indexación que RPC no tiene. Use RPC como su puerta de enlace a la cadena de bloques, pero ingiera e indexe solo los datos que le interesan.

Stellar RPC vs Horizon: ¿cuál es la diferencia?

Stellar RPC y Horizon sirven para diferentes propósitos. Horizon es una API RESTful que indexa y sirve datos históricos, mientras que Stellar RPC es una API JSON-RPC que proporciona estado en tiempo real y envío de transacciones. Si necesita datos históricos de transacciones o desea consultar por cuenta, Horizon es más adecuado. Si necesita interactuar con contratos Soroban o enviar transacciones directamente, Stellar RPC es la herramienta adecuada.

CaracterísticaStellar RPCHorizon
Estilo de APIJSON-RPCREST
Retención de datosVentana reciente (~7 días)Historial completo
Soporte de contratos SorobanLimitado
Envío de transacciones
Mejor paraEstado en tiempo real, contratos inteligentesConsultas históricas, indexación

Cómo conectarse a un servidor RPC de Stellar

Puede conectarse a un servidor RPC de Stellar usando cURL o uno de los SDK de Stellar. El endpoint es una URL que acepta solicitudes JSON-RPC. Por ejemplo, el endpoint público de mainnet de Stellar de OnFinality es https://stellar.api.onfinality.io/public. Puede encontrar más detalles en la página de red Stellar.

Aquí hay un ejemplo básico de cURL para obtener el último ledger:

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

Esto devuelve la secuencia del último ledger y otros metadatos. Puede usar solicitudes similares para consultar saldos de cuentas, datos de contratos y estado de transacciones.

Métodos comunes de Stellar RPC que usará

Stellar RPC expone un conjunto de métodos JSON-RPC. Aquí están los que usará con más frecuencia:

  • getLatestLedger – devuelve la secuencia del último ledger y metadatos.
  • getLedgerEntries – recupera entradas del ledger para cuentas, contratos y otros datos.
  • getTransaction – obtiene el estado y el resultado de una transacción enviada.
  • sendTransaction – envía una transacción a la red.
  • simulateTransaction – simula una transacción para estimar tarifas y resultados.
  • getEvents – consulta eventos de contratos.
  • getNetwork – devuelve información de la red como la frase de contraseña y la versión del protocolo.

Para obtener una lista completa, consulte la documentación de Stellar RPC.

Configuración de una billetera o dApp con Stellar RPC

Si está creando una billetera o dApp, deberá configurar su SDK para que apunte a un endpoint de Stellar RPC. Aquí hay un ejemplo usando el SDK de JavaScript de Stellar:

import { SorobanRpc } from '@stellar/stellar-sdk';

const server = new SorobanRpc.Server('https://stellar.api.onfinality.io/public');

const latestLedger = await server.getLatestLedger();
console.log(latestLedger.sequence);

Asegúrese de usar el endpoint correcto para su red (mainnet, testnet o futurenet). OnFinality proporciona un endpoint público de mainnet, y puede encontrar opciones de testnet en la página de redes compatibles.

Solución de problemas de conexión con Stellar RPC

Si tiene problemas para conectarse a un servidor RPC de Stellar, verifique lo siguiente:

  • Desajuste de red: asegúrese de usar el endpoint correcto para la red que desea usar (mainnet vs testnet).
  • Límites de tasa: los endpoints públicos pueden tener límites de tasa. Si los alcanza, considere actualizar a un nodo dedicado o endpoint privado.
  • Problemas de CORS: si llama desde un navegador, asegúrese de que el proveedor admita CORS. El endpoint público de OnFinality admite CORS para desarrollo.
  • Errores de transacción: si sendTransaction falla, verifique el sobre de la transacción y simúlelo primero para detectar errores.

Para una solución de problemas más avanzada, considere usar un nodo dedicado para evitar problemas de infraestructura compartida.

Ejecutar su propio servidor RPC de Stellar

Si decide ejecutar su propio servidor RPC de Stellar, deberá configurar Stellar Core y una instancia de core cautiva. El repositorio oficial stellar/stellar-rpc proporciona una guía de administración. Este enfoque le brinda control total, pero requiere mantenimiento y monitoreo continuos.

La mayoría de los equipos encuentran que usar un proveedor administrado es más rentable, especialmente para cargas de trabajo de producción. OnFinality ofrece nodos Stellar dedicados que se pueden aprovisionar bajo demanda. Consulte la página de nodos dedicados para obtener más información.

Conclusiones clave

  • Stellar RPC es un servidor JSON-RPC ligero para datos de red en tiempo real e interacción con contratos Soroban.
  • No es un indexador; retiene solo una ventana reciente de historial.
  • Elija entre ejecutar su propio servidor o usar un proveedor administrado según su capacidad operativa y carga de trabajo.
  • Use endpoints públicos para desarrollo, pero considere nodos dedicados para producción.
  • Siempre pruebe con solicitudes reales y monitoree los límites de tasa.

Preguntas frecuentes

¿Cuál es la diferencia entre Stellar RPC y Horizon?

Stellar RPC es una API JSON-RPC para estado en tiempo real y contratos Soroban, mientras que Horizon es una API REST para datos históricos e indexación. Sirven para diferentes propósitos y se pueden usar juntos.

¿Puedo usar Stellar RPC para datos históricos?

Stellar RPC retiene solo una ventana limitada y reciente de historial (aproximadamente 7 días). Para datos históricos, use Horizon o un proveedor de archivo que admita el método getLedgers.

¿Cómo obtengo un endpoint RPC de Stellar dedicado?

Puede obtener un endpoint dedicado de proveedores como OnFinality. Visite la página de red Stellar para ver opciones de nodos dedicados y endpoints privados.

¿Cuáles son los límites de tasa para los endpoints públicos de Stellar RPC?

Los límites de tasa varían según el proveedor. Los endpoints públicos a menudo tienen políticas de uso justo. Para producción, considere un nodo dedicado para evitar la limitación.

¿OnFinality admite testnet de Stellar?

OnFinality actualmente proporciona un endpoint público de mainnet de Stellar. Para testnet, puede usar otros proveedores o ejecutar el suyo. Consulte la página de redes compatibles para conocer la disponibilidad más reciente.

Para obtener más detalles sobre precios y soporte de red, consulte precios de RPC y redes RPC compatibles.

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