O Sui Indexing Framework oferece acesso personalizável aos dados on-chain do Sui por meio de uma poderosa estrutura de ingestão de dados. Ele permite a coleta de dados brutos onchain e conjuntos de dados derivados por qualquer software relevante, seja operando onchain ou offchain.

Aproveitar o Sui Indexing Framework para criar feeds de dados personalizáveis ​​permite que os desenvolvedores criem sem esforço software e produtos que respondam a eventos on-chain.

O poder dos feeds de dados onchain

As estruturas de dados Blockchain são projetadas para garantir a integridade das transações, o que muitas vezes significa que não são otimizadas para acesso aleatório aos dados ao longo de todo o seu histórico. No entanto, feeds de dados personalizáveis ​​criados com o Sui Indexing Framework superam essa limitação, capacitando os desenvolvedores a aproveitar os dados onchain de maneira mais eficaz para análises em tempo real e aplicativos responsivos. 

Imagine um músico que deseja aproveitar os NFTs para distribuir música aos seus fãs. Eles criam uma coleção NFT intransferível onde cada NFT concede acesso automático a um arquivo de áudio armazenado em um banco de dados offchain após a cunhagem. Utilizando a Estrutura de Indexação Sui, um indexador personalizado pode rastrear as transações de cunhagem associadas a esses NFTs específicos no Sui. Esta configuração permite que um serviço offchain separado execute ações como transferência de arquivos de áudio, acionadas por eventos monitorados por meio do indexador personalizado.

O Sui Indexing Framework pode ser particularmente útil para aqueles que desejam uma configuração de nó completo mais enxuta. Sem uma solução de indexação, os nós completos normalmente retêm o histórico de cada transação. Usando o Sui Indexing Framework, um indexador personalizado pode ser criado que alimenta dados de ponto de verificação a serem armazenados separados do nó completo. Muitos aplicativos que dependem de nós completos não precisam realmente do nó completo para armazenar ativamente dados de pontos de verificação recentes se armazenados em outro lugar em tempo real. Esta estrutura permite configurações de infraestrutura mais eficientes, pois os nós completos podem ser podados agressivamente para criar nós completos mais enxutos.

Além disso, o Sui Indexing Framework é uma peça-chave necessária para o desenvolvimento de painéis de dados onchain. Embora uma plataforma de análise de dados exija muito mais elementos, o Sui Indexing Framework é uma peça fundamental para a ingestão de dados da qual esses aplicativos dependem.

Como funciona

A ingestão de dados com o Sui Indexing Framework começa com a assinatura do fluxo de checkpoint do Sui para receber os dados mais recentes. A abordagem mais direta é assinar o armazenamento remoto apropriado de dados de pontos de verificação, como os que o Mysten Labs fornece: 

  • Testnet - https://checkpoints.testnet.sui.io

  • Rede principal - https://checkpoints.mainnet.sui.io

Para fazer isso, uma função de trabalho deve ser criada para processar os dados do ponto de verificação. O aplicativo principal chama a função de trabalho sempre que detecta um evento no armazenamento remoto.

use async_trait::async_trait; use sui_data_ingestion_core::{setup_single_workflow, Worker}; use sui_types::full_checkpoint_content::CheckpointData; estrutura CustomWorker; #[async_trait] impl Worker para CustomWorker { async fn process_checkpoint(&self, checkpoint: CheckpointData) -> Result<()> { println!( "processing checkpoint {}", checkpoint.checkpoint_summary.sequence_number ); // lógica de processamento 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 do ponto de verificação inicial */ 5, /* simultaneidade */ Nenhum, /* opções extras do leitor */ ).await?; executor.espera?; OK(()) }

Para aqueles que operam seu próprio nó completo, eles podem optar por criar seu próprio fluxo de checkpoint. Para ativar o fluxo de ponto de verificação, faça o seguinte

configuração do executor do ponto de verificação

as informações devem ser adicionadas ao arquivo de configuração do nó completo:

checkpoint-executor-config: data-ingestion-dir: <caminho para um diretório local>

Depois que a configuração for definida, o nó completo despeja os dados do ponto de verificação em um diretório local. O daemon indexador escuta eventos de ponto de verificação e processa os dados à medida que novos pontos de verificação chegam. Os dados do ponto de verificação retornados são um

Dados do ponto de verificação

struct, com a qual os aplicativos atuais provavelmente já estão familiarizados. Com a configuração, aponte o indexador para o diretório data-ingestion-dir e processe os dados da mesma maneira que as assinaturas hospedadas.

Sui Indexing Framework oferece suporte a métodos de processamento baseados em pull e push, oferecendo aos desenvolvedores a flexibilidade de escolher entre implementação direta ou latência reduzida. Essa versatilidade é crucial para aplicativos que priorizam o acesso a dados em tempo real e a capacidade de resposta.

Mergulhe mais fundo

Seja na criação de aplicativos que respondem a eventos de blockchain em tempo real ou no gerenciamento geral de dados e infraestrutura, a estrutura de indexação Sui oferece a flexibilidade e a confiabilidade necessárias para tais usos. Para obter orientações detalhadas de implementação, explore a documentação do Sui Custom Indexer. Para ver o Sui Indexing Framework em ação, explore os pipelines de indexação especializados usados ​​por Mysten Labs, SuiNS e Sui Bridge.