본문으로 건너뛰기

아카이브 서비스 사용하기

아카이브 서비스(Archival Service)는 full node에서 사용할 수 있는 것과 동일한 LedgerService gRPC API를 통해 과거 Sui network 데이터에 대한 access를 제공한다. full node가 필요한 데이터를 pruning했을 때 fallback으로 사용하거나, 과거 질의를 위한 전용 source로 사용한다.

핵심 개념은 아카이브 스토어 및 서비스 개념 페이지를 참조한다.

Public endpoints

Sui Foundation은 공익 차원에서 아카이브 서비스를 운영한다:

  • Testnet: archive.testnet.sui.io
  • Mainnet: archive.mainnet.sui.io

이 endpoint에는 엄격한 rate limit가 있다.

Querying the service

아카이브 서비스는 Sui full node와 동일한 LedgerService gRPC API를 노출한다. full node 대신 아카이브 서비스 endpoint를 가리키도록 설정해 어떤 gRPC client로든 질의한다.

grpcurl, Buf CLI, TypeScript, Go, Python을 사용하는 자세한 예시는 gRPC 사용하기를 참조한다.

예를 들어 grpcurl을 사용해 과거 transaction을 가져오려면 다음과 같이 한다:

grpcurl -d '{
"digest": "BASE58_TX_DIGEST"
}' archive.testnet.sui.io:443 sui.rpc.v2.LedgerService/GetTransaction

Using the Archival Service as a fallback

앱은 full node가 retention 관련 error를 반환할 때 아카이브 서비스를 질의할 수 있다. 이렇게 하면 full node가 과거 데이터를 저장하지 않아도 매끄러운 fallback을 제공할 수 있다:

  1. 질의를 full node로 보낸다.
  2. full node가 존재해야 하는 데이터에 대해 NOT_FOUND를 반환하면, 아카이브 서비스 endpoint를 대상으로 다시 시도한다.

Running your own instance

production에서 사용하거나 rate limit를 피하려면 전체 archival stack을 직접 실행할 수 있다. Bigtable, indexer, gRPC service 설정 방법은 operator guide인 아카이브 스토어 및 서비스 실행하기를 참조한다.