Autor
Stellar Development Foundation
Fecha de publicación
RPC: Ahora con Desplazamiento Infinito
¿Alguna vez deseaste poder acceder a cualquier libro mayor de Stellar, sin importar cuán antiguo sea, directamente a través de RPC? Hasta ahora, eso no era posible debido a la política de retención de RPC, que limitaba el acceso solo a datos recientes.
¡Buenas noticias! Estamos emocionados de presentar una nueva característica que cambia eso: Integración de RPC con el lago de datos del libro mayor. Cumpliendo la visión esbozada en nuestro anterior prueba de concepto, esta integración hace posible recuperar cualquier libro mayor histórico, desde el génesis hasta el más reciente, directamente a través de tus consultas RPC.
Cada nueva instancia de RPC comienza con una base de datos vacía y comienza a ingerir datos del libro mayor desde la punta actual de la red. Continúa ingiriendo nuevos libros mayores en tiempo real, reteniendo solo los datos más recientes de 7 días. Los datos más antiguos se podan automáticamente para mantener esta ventana.
El período de retención de 7 días es tanto la configuración predeterminada como la recomendada. Ayuda a mantener el tamaño de la base de datos manejable y mejora la velocidad de procesamiento. Este enfoque funciona bien para la mayoría de los sistemas, que típicamente solo requieren acceso a datos recientes del libro mayor.
Una tienda de objetos basada en la nube que contiene los metadatos de cada libro mayor de Stellar desde el génesis hasta el presente. Sigue un formato estandarizado definido por SEP-0054, asegurando la consistencia a través de las implementaciones.
Tienes dos opciones para acceder a un lago de datos de Stellar:
1. Lagos de datos alojados públicamentePuedes utilizar lagos de datos alojados públicamente proporcionados por proveedores de terceros, lo que facilita comenzar con una configuración mínima. Esta es la opción más simple si solo necesitas acceso rápido y solo lectura a datos históricos.
Un lago de datos del libro mayor accesible públicamente se proporciona a través del programa AWS Open Data en s3://aws-public-blockchain/v1.1/stellar/ledgers/pubnet.
2. Aloja tu propio lago de datosPara un mayor control, disponibilidad o necesidades de cumplimiento, puedes alojar tu propio lago de datos del libro mayor. Hemos construido Galexie, nuestra herramienta diseñada específicamente para gestionar datos del libro mayor.
Con Galexie, puedes:
Para comenzar, consulta la Guía de Administración de Galexie y publicación en el blog. Actualmente, Galexie admite la creación de un lago de datos en AWS S3 y Google Cloud Storage (GCS).
Configurar tu nodo RPC para usar el lago de datos es un cambio de configuración sencillo. Implica especificar tu tipo de almacenamiento (GCS o S3) y proporcionar la ruta del bucket.
Para detalles completos de configuración, consulta la guía de administración de RPC . También puedes encontrar una guía mantenida por la comunidad sobre esto gist para un ejemplo paso a paso.
Para comenzar, el endpoint getLedgers será el primer y único endpoint en admitir esta nueva funcionalidad. Esto significa que ahora puedes llamar al endpoint getLedgers con cualquier número de secuencia del libro mayor, y la API localizará el libro mayor y lo devolverá, siempre que tu RPC esté respaldado por un lago de datos que contenga esos datos históricos.
Nota que no hay cambio en cómo ingerimos nuevos libros mayores – los nuevos libros mayores continuarán siendo ingeridos directamente desde Stellar Core, y no a través del lago de datos. Todos los demás endpoints de RPC existentes continuarán funcionando como antes, sirviendo datos dentro de la ventana de retención local.
Obtener datos de un lago de datos basado en la nube es inherentemente más lento que acceder a datos almacenados localmente. Para acomodar esto, el tiempo de espera predeterminado del servidor para el endpoint getLedgers ha sido aumentado. En nuestras pruebas, no se observaron tiempos de espera bajo condiciones normales.
El rendimiento real aún puede variar dependiendo de las condiciones de la red y tu proveedor de lago de datos. Puedes configurar el tiempo de espera del servidor basado en tus condiciones.
El lago de datos almacena datos de manera eficiente en un formato comprimido. A mediados de 2025, el lago de datos completo es aproximadamente 3.8TB y crece aproximadamente 0.5TB por año.
Aquí hay una estimación aproximada de los costos involucrados en alojar tu propio lago de datos (los costos reales pueden variar según el proveedor de la nube y el plan):
Si tienes preguntas o ideas para mejorar la integración, abre un issue en nuestro GitHub repositorio o discute con la comunidad en Discord.