El marco de indexación de Sui ofrece acceso personalizable a los datos en cadena de Sui a través de un potente marco de ingesta de datos. Permite la recopilación tanto de datos sin procesar dentro de la cadena como de conjuntos de datos derivados mediante cualquier software relevante, ya sea que opere dentro o fuera de la cadena.
Aprovechar el marco de indexación Sui para crear fuentes de datos personalizables permite a los desarrolladores crear sin esfuerzo software y productos que respondan a los eventos en cadena.
El poder de las fuentes de datos en cadena
Las estructuras de datos de Blockchain están diseñadas para garantizar la integridad de las transacciones, lo que a menudo significa que no están optimizadas para el acceso aleatorio a datos a lo largo de todo su historial. Sin embargo, las fuentes de datos personalizables creadas con Sui Indexing Framework superan esta limitación, lo que permite a los desarrolladores aprovechar los datos en cadena de manera más efectiva para análisis en tiempo real y aplicaciones receptivas.
Imagine un músico que quiere aprovechar las NFT para distribuir música a sus fans. Crean una colección de NFT intransferible donde cada NFT otorga acceso automático a un archivo de audio almacenado en una base de datos fuera de la cadena al momento de la acuñación. Utilizando el marco de indexación de Sui, un indexador personalizado puede rastrear las transacciones de acuñación asociadas con estos NFT específicos en Sui. Esta configuración permite que un servicio independiente fuera de la cadena realice acciones como transferir archivos de audio, activadas por eventos monitoreados a través del indexador personalizado.
El Sui Indexing Framework puede ser particularmente útil para aquellos que desean una configuración de nodo completo más eficiente. Sin una solución de indexación, los nodos completos suelen conservar el historial de cada transacción. Con el marco de indexación Sui, se puede crear un indexador personalizado que proporcione datos de puntos de control que se almacenarán por separado del nodo completo. Muchas aplicaciones que dependen de nodos completos en realidad no necesitan el nodo completo para conservar activamente datos de puntos de control recientes si se almacenan en otro lugar en tiempo real. Este marco permite configuraciones de infraestructura más eficientes, ya que los nodos completos se pueden podar agresivamente para crear nodos completos más eficientes.
Además, el Sui Indexing Framework es una pieza clave necesaria para el desarrollo de paneles de datos en cadena. Si bien una plataforma de análisis de datos requiere muchos más elementos, Sui Indexing Framework es una pieza fundamental para la ingesta de datos de la que dependen estas aplicaciones.
Cómo funciona
La ingesta de datos con Sui Indexing Framework comienza con la suscripción al flujo de puntos de control de Sui para recibir los datos más recientes. El enfoque más sencillo es suscribirse al almacén remoto adecuado de datos de puntos de control, como los que proporciona Mysten Labs:
Red de prueba: https://checkpoints.testnet.sui.io
Red principal: https://checkpoints.mainnet.sui.io
Para hacer esto, se debe crear una función de trabajo para procesar los datos del punto de control. Luego, la aplicación principal llama a la función de trabajo cada vez que detecta un evento en el almacén remoto.
utilizar async_trait::async_trait; utilice sui_data_ingestion_core::{setup_single_workflow, Trabajador}; utilice sui_types::full_checkpoint_content::CheckpointData; estructura CustomWorker; #[async_trait] impl Trabajador para CustomWorker { async fn Process_checkpoint(&self, checkpoint: CheckpointData) -> Result<()> { println!( "procesando punto de control {}", checkpoint.checkpoint_summary.sequence_number ); // lógica de procesamiento personalizada ... Ok(()) } } #[tokio::main] async fn main() -> Result<()> { let (executor, term_sender) = setup_single_workflow( CustomWorker, "https:/ /checkpoints.mainnet.sui.io".to_string(), 0, /* número de punto de control inicial */ 5, /* concurrencia */ Ninguna, /* opciones de lector adicionales */ ).await?; ejecutor.await?; De acuerdo(()) }
Aquellos que operan su propio nodo completo, pueden optar por crear su propio flujo de puntos de control. Para habilitar el flujo de puntos de control, lo siguiente
checkpoint-executor-config
Se debe agregar información al archivo de configuración del nodo completo:
checkpoint-executor-config: data-ingestion-dir: <ruta a un directorio local>
Una vez establecida la configuración, el nodo completo vuelca los datos del punto de control en un directorio local. El demonio indexador escucha eventos de puntos de control y procesa los datos a medida que llegan nuevos puntos de control. Los datos del punto de control devueltos son un
Punto de controlDatos
struct, con el que las aplicaciones actuales probablemente ya estén familiarizadas. Con la configuración, apunte el indexador al directorio data-ingestion-dir y procese los datos de la misma manera que las suscripciones alojadas.
Sui Indexing Framework admite métodos de procesamiento basados en extracción y en inserción, lo que ofrece a los desarrolladores la flexibilidad de elegir entre una implementación sencilla o una latencia reducida. Esta versatilidad es crucial para las aplicaciones que priorizan el acceso a datos en tiempo real y la capacidad de respuesta.
Sumérgete más profundo
Ya sea que se creen aplicaciones que respondan a eventos de blockchain en tiempo real o gestión general de datos e infraestructura, el marco de indexación de Sui ofrece la flexibilidad y confiabilidad necesarias para tales usos. Para obtener una guía de implementación detallada, explore la documentación de Sui Custom Indexer. Para ver el marco de indexación de Sui en acción, explore los canales de indexación especializados utilizados por Mysten Labs, SuiNS y Sui Bridge.