Чтобы устранить многие известные проблемы существующего RPC, Sui готовится запустить новый сервис RPC на основе GraphQL, получивший название Sui RPC 2.0. GraphQL — это язык запросов и манипулирования данными с открытым исходным кодом, предназначенный для облегчения создания выразительных API и сервисов, требующих сложных запросов к данным.

В настоящее время пользователи имеют доступ к снимку бета-версии основной и тестовой сетей Sui, доступному ТОЛЬКО для чтения. Эта версия не предназначена для готовых к использованию приложений, а скорее служит для разработчиков игровой площадкой для ознакомления с будущей схемой и сервисом RPC GraphQL.

Текущий JSON-RPC останется основным сервисом RPC до конца первого квартала 2024 года. 

Зачем создавать новую службу RPC?

Модернизация службы RPC решает многие проблемы, с которыми сталкиваются разработчики, работающие с текущими RPC. В RPC 2.0 устаревший API сериализации небезопасных транзакций предоставляет более эффективные шаблоны запросов для динамических полей, а также другие исправления проблем с удобством использования, о которых сообщили текущие пользователи.

На внутренней стороне служба RPC и ее хранилище данных будут отделены от полных узлов. API-интерфейсы полных узлов будут ограничены выполнением транзакций и приемом данных для индексаторов, при этом все запросы на чтение будут обслуживаться новой службой RPC без сохранения состояния, считывающей данные из собственного хранилища данных. Индексаторы будут массово получать данные транзакций из полных узлов, выполнять их постобработку и записывать в хранилище.

Более подробная техническая информация об архитектуре нового сервиса GraphQL RPC и о том, почему Sui переходит на него, доступна в этом выпуске GitHub.

Начать

Sui предоставляет интерактивную площадку для использования GraphQL в основной сети Sui и сетях тестовой сети на основе GraphQL IDE. Онлайн-IDE предлагает поддержку автозаполнения (используйте Ctrl+пробел) и документацию по схеме и доступным типам. Если вы хотите проверить схему, которая используется в данный момент, нажмите конечную точку /schema (например, https://graphql-beta.mainnet.sui.io/schema).

Информацию о текущих известных проблемах и ограничениях можно найти в документации. 

Примеры

Примеры запросов можно найти в папке примеров в репозитории.

Ниже приведен скриншот запроса, написанного в онлайн-IDE, и результата.

График выпуска

Мы продолжаем работать над GraphQL RPC, чтобы реализовать все задуманные функции. Вот текущий график создания и выпуска сервиса.

Ориентировочная дата этапа 1: 31 октября 2023 г.

Первоначальный проект схемы и действующая бета-версия (без соглашения об уровне обслуживания) службы выпущена и доступна широкой публике.

  • основная сеть

  • тестовая сеть

Ориентировочная дата этапа 2: 30 декабря 2023 г.

Выпустите RPC 2.0 с полной поддержкой функций, включая подписку, запись данных в цепочке и многое другое.

Целевая дата этапа 3: 31 марта 2024 г.

Устаревший JSON-RPC.

Поделитесь своим отзывом

Попробуйте API и оставьте отзыв о любых потенциальных трудностях, которые вы выявили при внедрении GraphQL RPC, в этом сообщении на форуме.