Sui 索引框架透过强大的资料摄取框架提供对 Sui 链上资料的可自订存取。它可以透过任何相关软体收集原始链上数据和派生数据集,无论是在链上还是链下运行。

利用 Sui 索引框架建立可自订的资料来源,使开发人员能够轻松建立响应链上事件的软体和产品。

链上资料来源的力量

区块链资料结构旨在确保交易的完整性,这通常意味著它们没有针对整个历史记录中的随机资料存取进行最佳化。然而,使用 Sui 索引框架建立的可自订资料来源克服了这一限制,使开发人员能够更有效地利用链上资料进行即时分析和响应式应用程式。 

想像一下,一位音乐家想要利用 NFT 向粉丝分发音乐。他们创建了一个不可转让的 NFT 集合,其中每个 NFT 都允许在铸造时自动存取储存在链下资料库中的音讯档案。利用 Sui 索引框架,自订索引器可以追踪 Sui 上与这些特定 NFT 相关的铸造交易。此设定允许单独的链下服务执行诸如传输音讯档案之类的操作,这些操作由透过自订索引器监控的事件触发。

Sui 索引框架对于想要更精简的完整节点设定的人来说特别有用。如果没有索引解决方案,完整节点通常会保留每笔交易的历史记录。使用 Sui 索引框架,可以建立自订索引器,该索引器提供要与完整节点分开储存的检查点资料。许多依赖完整节点的应用程式实际上并不需要完整节点来主动保存最近的检查点资料(如果即时储存在其他地方)。该框架允许更有效率的基础设施设置,因为可以积极修剪完整节点以创建更精简的完整节点。

此外,Sui 索引框架是开发链上资料仪表板所需的关键部分。虽然资料分析平台需要更多元素,但 Sui 索引框架是这些应用程式所依赖的资料摄取的基础部分。

怎么运作的

使用 Sui 索引框架进行资料摄取首先从 Sui 订阅检查点流,以便接收最新资料。最直接的方法是订阅适当的检查点资料远端存储,就像 Mysten Labs 提供的那样: 

  • 测试网 - https://checkpoints.testnet.sui.io

  • 主网 - https://checkpoints.mainnet.sui.io

为此,必须建立一个工作函数来处理检查点资料。然后,只要主应用程式侦测到远端储存中的事件,就会呼叫工作函数。

使用 async_trait::async_trait;使用 sui_data_ingestion_core::{setup_single_workflow, Worker};使用 sui_types::full_checkpoint_content::CheckpointData;结构体CustomWorker; #[async_trait] impl Worker for CustomWorker { async fn process_checkpoint(&self, checkpoint: CheckpointData) -> Result<()> { println!( "processing checkpoint {}", checkpoint.checkpoint_summary.sequence_ncessing checkpoint {}", checkpoint.checkpoint_summary.sequence_number ); // 自订处理逻辑... Ok(()) } } #[tokio::main] async fn main() -> Result<()> { let (executor, term_sender) = setup_single_workflow( CustomWorker, "https: // /checkpoints.mainnet.sui.io".to_string(), 0, /* 初始检查点编号 */ 5, /* 并发 */ None, /* 额外的读卡机选项 */ ).await?;执行者.await?;好的(()) }

对于那些操作自己的完整节点的人,他们可以选择建立自己的检查点流。若要启用检查点流,请执行下列操作

检查点执行器配置

必须将资讯新增到完整节点设定档:

checkpoint-executor-config:data-ingestion-dir:<本机目录的路径>

设定配置后,完整节点会将检查点资料转储到本机目录。索引器守护程序侦听检查点事件并在新检查点到达时处理资料。传回的检查点资料是

检查点数据

struct,目前的应用程式可能已经熟悉了。透过配置,将索引器指向 data-ingestion-dir 目录,并以与托管订阅相同的方式处理资料。

Sui Indexing Framework 支援基于拉式和基于推式的处理方法,使开发人员可以灵活地选择直接实施或减少延迟。这种多功能性对于优先考虑即时资料存取和回应能力的应用程式至关重要。

深入研究

无论是创建响应即时区块链事件的应用程式还是一般资料和基础设施管理,Sui 索引框架都提供了此类用途所需的灵活性和可靠性。有关详细的实施指南,请浏览 Sui Custom Indexer 文件。要了解 Sui 索引框架的实际应用,请探索 Mysten Labs、SuiNS 和 Sui Bridge 使用的专用索引管道。