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

¿Qué son los nodos de Stellar y cómo te conectas a la red?

Resumen

Los nodos de Stellar son los servidores que ejecutan la red de Stellar, validando transacciones y manteniendo el libro mayor. Este artículo explica los diferentes tipos de nodos, cómo ejecutar uno y cómo conectar tu aplicación a la red mediante endpoints RPC.

Guía rápida de decisión: ¿Necesitas ejecutar un nodo de Stellar o solo conectarte a uno?

Antes de profundizar en los tipos de nodos y la configuración, pregúntate qué necesitas realmente. La mayoría de las aplicaciones no necesitan ejecutar un nodo de Stellar. Si estás construyendo una billetera, una integración de intercambio o una aplicación de pagos, necesitas acceso confiable a los datos de la red y la capacidad de enviar transacciones. Ejecutar tu propio nodo te da control total y privacidad de datos, pero conlleva una carga operativa: sincronización, monitoreo y mantenerse al día con las actualizaciones del protocolo.

Si estás comenzando o tu tráfico es moderado, usar un servicio RPC administrado como el RPC de Stellar de OnFinality es el camino más rápido. Obtienes un endpoint público para pruebas y acceso escalable para producción sin administrar infraestructura. Si tienes necesidades estrictas de residencia de datos o cumplimiento, o esperas volúmenes de solicitudes muy altos, un nodo dedicado podría valer el costo. Para la mayoría de los equipos, la decisión se reduce a: ¿quieres gastar tiempo de ingeniería en operaciones de nodos o en tu producto?

¿Qué es un nodo de Stellar?

Un nodo de Stellar es una computadora que ejecuta el software Stellar Core, que implementa el Protocolo de Consenso de Stellar (SCP). Los nodos se comunican entre sí para acordar el estado del libro mayor. A diferencia de las redes de prueba de trabajo o prueba de participación, Stellar utiliza un sistema de acuerdo bizantino federado. Cada nodo elige un conjunto de validadores de confianza, llamado porción de quórum, y el consenso se alcanza cuando suficientes nodos están de acuerdo.

Hay diferentes roles que un nodo puede desempeñar:

  • Validador: Participa en el consenso proponiendo y votando sobre conjuntos de transacciones. Los validadores son la columna vertebral del acuerdo de la red.
  • Nodo completo: Mantiene una copia completa del libro mayor y valida todas las transacciones, pero no necesariamente participa en el consenso. Los nodos completos proporcionan datos a los clientes y ayudan con la salud de la red.
  • Nodo de archivo: Almacena datos históricos del libro mayor, lo que permite que los nuevos nodos se sincronicen desde instantáneas y proporciona datos para análisis.

Para la mayoría de los desarrolladores, la distinción importa menos que el método de acceso. Interactúas con la red a través de una API, típicamente Horizon o Soroban RPC, que cubriremos a continuación.

Tipos de nodos de Stellar comparados

Tipo de nodoRolRequisitos de recursosCaso de uso típico
ValidadorParticipación en el consensoAlto CPU, red y almacenamientoSeguridad y gobernanza de la red
Nodo completoCopia del libro mayor y servicio de datosAlmacenamiento moderado a altoEjecutar tu propia instancia de Horizon
Nodo de archivoAlmacenamiento de datos históricosAlmacenamiento muy altoAnálisis, cumplimiento e instantáneas

Los validadores son críticos para la operación de la red, pero no son algo que la mayoría de los desarrolladores necesiten ejecutar. Los nodos completos son más comunes para equipos que quieren autoalojar Horizon o necesitan acceso directo a los datos del libro mayor. Los nodos de archivo son para casos de uso especializados.

Cómo ejecutar un nodo de Stellar

Ejecutar un nodo de Stellar implica instalar Stellar Core y configurarlo para conectarse a la red. El proceso está bien documentado en la documentación oficial de Stellar, pero aquí hay una descripción general de alto nivel.

Requisitos previos

  • Un servidor con al menos 8 GB de RAM y unos pocos cientos de GB de almacenamiento (el libro mayor crece con el tiempo).
  • Una dirección IP pública si deseas participar en la red.
  • Familiaridad básica con Linux y herramientas de línea de comandos.

Pasos de instalación

  1. Instalar Stellar Core: Puedes descargar binarios precompilados o compilar desde el código fuente. Los documentos oficiales proporcionan instrucciones para varios sistemas operativos.
  2. Configurar stellar-core.cfg: Este archivo contiene la identidad de tu nodo, la configuración de red y el conjunto de quórum. Debes especificar la frase de contraseña de la red (por ejemplo, Public Global Stellar Network ; September 2015 para mainnet).
  3. Sincronizar con la red: La sincronización inicial puede tomar horas o días, dependiendo de tu hardware y velocidad de red. Puedes acelerar esto usando una instantánea de un nodo de archivo.
  4. Ejecutar Horizon: Si deseas proporcionar una API HTTP para tus aplicaciones, también necesitarás ejecutar Horizon, que se conecta a Stellar Core e indexa datos.

Aquí hay un ejemplo mínimo de un fragmento de stellar-core.cfg:

[NETWORK]
NETWORK_PASSPHRASE="Public Global Stellar Network ; September 2015"

[QUORUM_SET]
VALIDATORS="GCGB2S2KjARzYHe1i4EsnDWxFiUlytK8vH8D2UfJ7VvH4ZqYg"

[HTTP]
PORT=11626

Este es un ejemplo simplificado. En la práctica, necesitas incluir más validadores en tu conjunto de quórum y configurar conexiones de base de datos.

Conectarse a Stellar: Horizon y Soroban RPC

Una vez que tengas un nodo ejecutándose (o estés usando un servicio de terceros), interactúas con Stellar a través de APIs. Las dos interfaces principales son:

  • Horizon: Una API RESTful que proporciona acceso a cuentas, transacciones y datos del libro mayor. Es la forma tradicional de construir en Stellar.
  • Soroban RPC: Una API JSON-RPC para interactuar con contratos inteligentes de Soroban, introducida con la actualización de Soroban.

La mayoría de los desarrolladores usan Horizon para operaciones básicas y Soroban RPC para interacciones con contratos. Si usas un proveedor administrado, obtienes endpoints para ambos.

Por ejemplo, para obtener detalles de una cuenta a través de Horizon, puedes usar un simple comando curl:

curl https://horizon.stellar.org/accounts/GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF

Reemplaza la dirección con una real. Esto devuelve JSON con el saldo de la cuenta, número de secuencia y otros datos.

Endpoints RPC de Stellar y configuración

Cuando usas un proveedor RPC de terceros, típicamente obtienes una URL que apunta a una instancia de Horizon o Soroban RPC. OnFinality ofrece un endpoint público de Stellar que puedes usar para desarrollo. Para producción, debes registrarte para obtener una clave API para tener límites de velocidad más altos y confiabilidad.

La URL base para el endpoint público de Stellar de OnFinality es https://stellar.rpc.onfinality.io. Puedes agregar rutas para Horizon o Soroban RPC dependiendo del servicio. Por ejemplo, para hacer una llamada Soroban RPC, podrías usar:

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

Esta es una verificación de salud simple. Los métodos y rutas exactos están documentados en los documentos de desarrollador de Stellar.

Errores comunes al trabajar con nodos de Stellar

Incluso con un servicio administrado, podrías encontrarte con problemas. Aquí hay algunos errores comunes y cómo evitarlos:

  • Usar la red incorrecta: Stellar tiene una mainnet y una testnet (llamada Futurenet). Asegúrate de que tu configuración use la frase de contraseña y el endpoint correctos.
  • Límite de velocidad: Los endpoints públicos a menudo tienen límites de velocidad. Si haces muchas solicitudes, usa un endpoint dedicado o agrega caché.
  • Cursor y paginación de Horizon: Al transmitir transacciones, debes manejar la paginación correctamente. Usa el parámetro cursor para evitar perder eventos.
  • Diferencias en los métodos de Soroban RPC: Soroban RPC es JSON-RPC, pero los métodos son diferentes de los de Ethereum. Consulta los documentos oficiales.

Conclusiones clave

  • Los nodos de Stellar ejecutan Stellar Core y participan en el consenso o sirven datos.
  • La mayoría de las aplicaciones no necesitan ejecutar un nodo; usa un servicio RPC administrado para simplificar.
  • Horizon es la API REST para cuentas y transacciones; Soroban RPC es para contratos inteligentes.
  • Al elegir un proveedor, considera los límites de velocidad, el tiempo de actividad y el soporte tanto para Horizon como para Soroban RPC.
  • OnFinality proporciona endpoints públicos y dedicados de Stellar; consulta Precios de RPC y redes compatibles para más detalles.

Preguntas frecuentes

¿Cuál es la diferencia entre un nodo de Stellar y un validador?

Un validador es un nodo que participa en el consenso. Todos los validadores son nodos, pero no todos los nodos son validadores. Los nodos completos y los nodos de archivo sirven datos pero no necesariamente votan.

¿Cuánto tiempo se tarda en sincronizar un nodo de Stellar?

La sincronización inicial puede tomar desde unas pocas horas hasta unos pocos días, dependiendo de tu hardware y red. Usar una instantánea de un nodo de archivo puede reducir significativamente este tiempo.

¿Puedo ejecutar un nodo de Stellar en una laptop?

Técnicamente sí, pero no se recomienda. El libro mayor es grande y crece continuamente. Necesitas un servidor con almacenamiento confiable y conectividad de red.

¿Qué es Soroban RPC?

Soroban RPC es una API JSON-RPC para interactuar con contratos inteligentes de Soroban en Stellar. Te permite enviar transacciones, leer el estado del contrato y simular llamadas a contratos.

¿Cómo elijo entre ejecutar mi propio nodo y usar un servicio administrado?

Si necesitas control total, privacidad de datos o tienes un tráfico muy alto, un nodo dedicado podría valer la pena. Para la mayoría de los proyectos, un servicio administrado como OnFinality ofrece un buen equilibrio entre costo y confiabilidad. Evalúa la capacidad operativa de tu equipo y los requisitos de tu aplicación.

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