Документация Sui RPC endpoint | ERPC

Документация Sui RPC endpoint

Используйте ERPC как ваш Sui RPC endpoint для unary-запросов gRPC-web. Sui RPC является частью RPC APIs ERPC в рамках нашей Global Edge Blockchain Infrastructure, а управление API key доступно через ERPC Web Dashboard.
Вы можете использовать тот же RPC key, что и для Solana, Ethereum и Avalanche.
Передавайте ваш API key как Authorization: Bearer <YOUR_API_KEY>. Sui SDK добавляет путь сервиса к базовому URL, поэтому ключ передаётся в заголовке, а не в параметре запроса api-key.

Endpoints

Используйте любой из двух базовых URL как baseUrl вашего транспорта gRPC-web:
text
https://edge.erpc.global/sui
text
https://sui.erpc.global
Запросы — это бинарные POST-запросы gRPC-web (application/grpc-web+proto) на /sui.rpc.v2.<Service>/<Method>, по одному несжатому protobuf-фрейму на unary-вызов.

Примеры

Пример настройки транспорта.
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>' },
})
Передайте транспорт unary-клиенту сервиса, сгенерированному для Sui gRPC API.
Получить и проверить ваш API key можно на ERPC Web Dashboard: ERPC Web Dashboard

Batch-запросы

У Sui нет batch-запросов. Каждый HTTP-запрос содержит один unary-вызов и тарифицируется как один вызов. Размер тела запроса — до 1 MiB.

Тарификация использования

Использование тарифицируется в токенах, и ставка в токенах может различаться в зависимости от метода. Каждый unary-вызов тарифицируется как один вызов.

Ограничения тарифа Free

На тарифе Free ваш аккаунт может отправлять один запрос в 10 секунд. Лимит считается по аккаунту, а не по endpoint, поэтому запрос к другой сети тоже может засчитываться в этот лимит. На запрос, отправленный раньше, возвращается HTTP 429, а заголовок retry-after указывает время ожидания в секундах.

Поддерживаемые методы

Endpoint обслуживает следующие 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 в текстовом формате, streaming и вызовы BatchGet* не поддерживаются.

Коды состояния ответа

HTTP статусЗначение
200Успешный unary-вызов. Тело ответа — application/grpc-web+proto.
400Путь вне раздела «Поддерживаемые методы», тело запроса, которое не является одним несжатым бинарным фреймом gRPC-web, или тело запроса больше 1 MiB.
401API key отсутствует или недействителен либо не выполнено ограничение по IP или Origin, заданное для ключа.
405HTTP-метод запроса, отличный от POST.
426Запрошен WebSocket Upgrade. Endpoint работает только по HTTP.
429Ограничение скорости, включая ограничение тарифа Free в один запрос в 10 секунд. Если в ответе есть заголовок retry-after, подождите указанное в нём число секунд.
502Не удалось выполнить upstream-вызов: upstream вернул ответ с ошибкой, ответ превышает 8 MiB, ответа нет в течение 30 секунд или grpc-status отличен от 0.
503Сервис временно недоступен.

Методы Sui RPC и документация

Полный список стандартных методов, параметров и спецификаций см. в официальной документации.