Struktura indeksowania Sui oferuje konfigurowalny dostęp do danych onchain Sui za pośrednictwem potężnej struktury pozyskiwania danych. Umożliwia gromadzenie zarówno surowych danych onchain, jak i pochodnych zbiorów danych za pomocą dowolnego odpowiedniego oprogramowania, zarówno działającego w łańcuchu, jak i poza nim.

Wykorzystanie Sui Indexing Framework do tworzenia dostosowywalnych źródeł danych umożliwia programistom bezproblemowe tworzenie oprogramowania i produktów reagujących na zdarzenia onchain.

Siła kanałów danych onchain

Struktury danych Blockchain są zaprojektowane tak, aby zapewnić integralność transakcji, co często oznacza, że ​​nie są zoptymalizowane pod kątem losowego dostępu do danych w całej ich historii. Jednak konfigurowalne źródła danych utworzone za pomocą Sui Indexing Framework pokonują to ograniczenie, umożliwiając programistom skuteczniejsze wykorzystanie danych onchain na potrzeby analiz w czasie rzeczywistym i responsywnych aplikacji. 

Wyobraź sobie muzyka, który chce wykorzystać NFT do dystrybucji muzyki wśród swoich fanów. Tworzą niezbywalną kolekcję NFT, w której każdy NFT zapewnia automatyczny dostęp do pliku audio przechowywanego w bazie danych offchain po wybiciu. Wykorzystując strukturę indeksowania Sui, niestandardowy moduł indeksujący może śledzić transakcje mennicze powiązane z tymi konkretnymi NFT w Sui. Ta konfiguracja umożliwia oddzielnej usłudze offchain wykonywanie działań, takich jak przesyłanie plików audio, wyzwalanych przez zdarzenia monitorowane za pomocą niestandardowego indeksatora.

Struktura indeksowania Sui może być szczególnie przydatna dla tych, którzy chcą prostszej konfiguracji pełnego węzła. Bez rozwiązania indeksującego pełne węzły zazwyczaj zachowują historię każdej transakcji. Korzystając ze struktury indeksowania Sui, można utworzyć niestandardowy indeksator, który dostarcza dane z punktów kontrolnych, które mają być przechowywane oddzielnie od węzła Pełny. Wiele aplikacji korzystających z pełnych węzłów tak naprawdę nie potrzebuje pełnego węzła do aktywnego przechowywania danych z ostatnich punktów kontrolnych, jeśli są one przechowywane w innym miejscu w czasie rzeczywistym. Ta struktura umożliwia bardziej wydajną konfigurację infrastruktury, ponieważ pełne węzły można agresywnie przycinać w celu utworzenia szczuplejszych pełnych węzłów.

Ponadto struktura indeksowania Sui jest kluczowym elementem potrzebnym do opracowania pulpitów nawigacyjnych danych onchain. Chociaż platforma analizy danych wymaga znacznie więcej elementów, struktura indeksowania Sui jest podstawowym elementem pozyskiwania danych, na którym opierają się te aplikacje.

Jak to działa

Pozyskiwanie danych za pomocą Sui Indexing Framework rozpoczyna się od zasubskrybowania strumienia punktów kontrolnych z Sui w celu otrzymania najnowszych danych. Najprostszym podejściem jest subskrypcja odpowiedniego zdalnego magazynu danych z punktów kontrolnych, takiego jak ten udostępniany przez Mysten Labs: 

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

  • Sieć główna — https://checkpoints.mainnet.sui.io

Aby to zrobić, należy utworzyć funkcję procesu roboczego w celu przetworzenia danych punktu kontrolnego. Następnie aplikacja główna wywołuje funkcję procesu roboczego za każdym razem, gdy wykryje zdarzenie w magazynie zdalnym.

użyj async_trait::async_trait; użyj sui_data_ingestion_core::{setup_single_workflow, Worker}; użyj sui_types::full_checkpoint_content::CheckpointData; struktura CustomWorker; #[async_trait] impl Worker dla CustomWorker { async fn proces_checkpoint(&self, checkpoint: CheckpointData) -> Result<()> { println!( "przetwarzanie punktu kontrolnego {}", checkpoint.checkpoint_summary.sequence_number ); // niestandardowa logika przetwarzania ... Ok(()) } } #[tokio::main] async fn main() -> Result<()> { let (executor, term_sender) = setup_single_workflow( CustomWorker, "https:/ /checkpoints.mainnet.sui.io”.to_string(), 0, /* numer początkowego punktu kontrolnego */ 5, /* współbieżność */ Brak, /* dodatkowe opcje czytnika */ .await?; wykonawca.czeka?; OK(()) }

Osoby obsługujące własny pełny węzeł mogą zdecydować się na utworzenie własnego strumienia punktów kontrolnych. Aby włączyć strumień punktu kontrolnego, wykonaj następujące czynności

checkpoint-executor-config

informacje należy dodać do pliku konfiguracyjnego pełnego węzła:

checkpoint-executor-config: katalog-pozyskiwania danych: <ścieżka do katalogu lokalnego>

Po ustawieniu konfiguracji węzeł Pełny zrzuca dane punktu kontrolnego do katalogu lokalnego. Demon indeksatora nasłuchuje zdarzeń w punktach kontrolnych i przetwarza dane po nadejściu nowych punktów kontrolnych. Zwrócone dane punktu kontrolnego to a

Dane punktu kontrolnego

struct, który obecne aplikacje prawdopodobnie już znają. Po skonfigurowaniu wskaż indeksator do katalogu data-ingestion-dir i przetwarzaj dane w taki sam sposób, jak w przypadku hostowanych subskrypcji.

Sui Indexing Framework obsługuje zarówno metody przetwarzania typu pull, jak i push, oferując programistom elastyczność wyboru pomiędzy prostą implementacją a zmniejszonymi opóźnieniami. Ta wszechstronność jest kluczowa w przypadku aplikacji, dla których priorytetem jest dostęp do danych w czasie rzeczywistym i szybkość reakcji.

Zanurz się głębiej

Niezależnie od tego, czy tworzysz aplikacje reagujące na zdarzenia typu blockchain w czasie rzeczywistym, czy też ogólne zarządzanie danymi i infrastrukturą, platforma indeksowania Sui oferuje elastyczność i niezawodność niezbędną do takich zastosowań. Aby uzyskać szczegółowe wskazówki dotyczące implementacji, zapoznaj się z dokumentacją Sui Custom Indexer. Aby zobaczyć strukturę indeksowania Sui w działaniu, zapoznaj się ze specjalistycznymi potokami indeksowania używanymi przez Mysten Labs, SuiNS i Sui Bridge.