Sui RPC 엔드포인트 문서 | ERPC

Sui RPC 엔드포인트 문서

ERPC를 Sui RPC 엔드포인트로 사용하여 unary gRPC-web 요청을 처리할 수 있습니다. Sui RPC는 Global Edge Blockchain Infrastructure 내에 있는 ERPC의 RPC APIs 중 하나이며, API key는 ERPC Web Dashboard에서 관리할 수 있습니다.
Solana, Ethereum, Avalanche와 동일한 RPC key를 그대로 사용할 수 있습니다.
API key는 Authorization: Bearer <YOUR_API_KEY>로 보내세요. Sui SDK가 기본 URL 뒤에 서비스 경로를 붙이므로, key는 api-key 쿼리 매개변수가 아니라 헤더로 보냅니다.

엔드포인트

다음 기본 URL 중 하나를 gRPC-web 트랜스포트의 baseUrl로 사용합니다.
text
https://edge.erpc.global/sui
text
https://sui.erpc.global
요청은 /sui.rpc.v2.<Service>/<Method>로 보내는 바이너리 gRPC-web(application/grpc-web+proto) POST이며, unary 호출 하나당 압축되지 않은 protobuf 프레임 하나를 보냅니다.

예시

다음은 트랜스포트 설정 예시입니다.
typescript
import { GrpcWebFetchTransport } from '@protobuf-ts/grpcweb-transport'

const transport = new GrpcWebFetchTransport({
  baseUrl: 'https://sui.erpc.global', // or https://edge.erpc.global/sui
  format: 'binary',
  meta: { Authorization: 'Bearer <YOUR_API_KEY>' },
})
이 트랜스포트를 Sui gRPC API용으로 생성된 unary 서비스 클라이언트에 전달합니다.
API key는 ERPC Web Dashboard에서 발급받고 확인할 수 있습니다.

배치 요청

Sui는 배치 요청을 지원하지 않습니다. HTTP 요청 하나에는 unary 호출 하나가 담기며, 호출 1회로 계량됩니다. 요청 본문은 최대 1 MiB까지 보낼 수 있습니다.

사용량 측정

사용량은 token 단위로 계량되며, token 요금은 메서드에 따라 다를 수 있습니다. 각 unary 호출은 호출 1회로 계량됩니다.

Free 요금제 제한

Free 요금제에서는 사용자의 계정이 10초당 요청 한 건을 보낼 수 있습니다. 이 제한은 엔드포인트별이 아니라 계정별로 집계되므로, 다른 체인으로 보낸 요청도 집계에 포함될 수 있습니다. 그보다 빨리 보낸 요청에는 HTTP 429로 응답하며, retry-after 헤더가 대기할 시간(초)을 알려 줍니다.

지원 메서드

이 엔드포인트는 다음 19개의 unary gRPC-web 메서드를 제공합니다. 각 메서드는 /sui.rpc.v2.<Service>/<Method>로 호출하며, 대소문자가 정확히 일치해야 합니다.
  • LedgerService (5): GetServiceInfo, GetCheckpoint, GetObject, GetTransaction, GetEpoch
  • MovePackageService (4): GetPackage, GetDatatype, GetFunction, ListPackageVersions
  • NameService (2): LookupName, ReverseLookupName
  • SignatureVerificationService (1): VerifySignature
  • StateService (5): GetCoinInfo, GetBalance, ListBalances, ListDynamicFields, ListOwnedObjects
  • TransactionExecutionService (2): ExecuteTransaction, SimulateTransaction
목록에 없는 경로에는 HTTP 400으로 응답합니다. 네이티브 gRPC, 텍스트 형식 gRPC-web, 스트리밍, BatchGet* 호출은 지원하지 않습니다.

응답 상태 코드

HTTP 상태의미
200unary 호출 성공. 본문은 application/grpc-web+proto 형식
400지원 메서드 목록에 없는 경로, 압축되지 않은 바이너리 gRPC-web 프레임 하나가 아닌 본문, 또는 1 MiB를 초과하는 본문
401API key가 없거나 유효하지 않거나, key에 설정된 IP 또는 Origin 제한을 충족하지 않음
405POST 이외의 요청 메서드
426WebSocket Upgrade가 요청됨. 이 엔드포인트는 HTTP만 지원함
429속도 제한됨. Free 요금제의 10초당 요청 한 건 제한도 포함됨. retry-after 헤더가 있으면 표시된 시간(초)만큼 대기
502업스트림 호출을 완료할 수 없음: 업스트림 응답 실패, 8 MiB를 초과하는 응답, 30초 이내 무응답, 또는 0이 아닌 grpc-status
503서비스를 일시적으로 사용할 수 없음

Sui RPC method 및 문서

표준 method, 매개변수, 사양의 전체 목록은 공식 문서를 참고하세요.