Sei Network
  • Введение
    • Обзор
    • Разработка концепции Sei
    • Оптимизация DEX
    • Децентрализованный NASDAQ
    • Экосистема Sei
  • Смарт контракты и разработка
    • Обзор инструментов Sei
    • Установка локальной версии ноды
    • Скрипт локального развертывания Sei
    • Sei.go
    • Тестирование контрактов CosmWasm
    • Развертывание универсального контракта
    • Развертывание обменного контракта
    • Развертывание и разработка без использования полной ноды
    • Инструкция по модулю Dex
    • Руководство по модулю Tokenfactory
    • IBC трансферы
  • Сопоставление ордеров
    • Параллелизм
    • Параметры допуска контракта
    • Зависимости внутри контрактов
    • Хранилище с белым списком
  • Ноды и валидаторы
    • Присоединиться к тестнету
    • Обновления
    • Стимулирующий тестнет Seiнами
      • Присоединиться к стимулирующему тестнету
      • Все миссии тестнета
      • Код чести
      • Распределение наград
    • Основные эндпоинты API
    • Эндпоинты модулей
    • Синхронизация состояния
    • Операции восстановления
  • Управление
    • Создание предложений
    • Управление стейкингом
    • Голосование по предложению
  • Оракул
    • Участие в работе Оракула
  • Фронтенд разработка
    • Руководство по JavaScript
    • Пакеты NPM
  • Кошельки
    • Интеграция кошельков
    • Переводы
Powered by GitBook
On this page
  • Эндпоинты POST
  • Размещение ордеров
  • Отмена ордеров
  • Ликвидация
  • Предварительное голосование по обменному курсу
  • Голосование по обменному курсу
  • Эндпоинты GET
  • Получение последних сделок
  • Получение полной книги ордеров
  • Получение краткой книги ордеров
  • Получение обменного курса
  • Получение обменных курсов
  • Получение целей для голосования
  • Получение счетчика пропусков
  1. Ноды и валидаторы

Эндпоинты модулей

Данный эндпоинты доступны на уровне модулей. Вы можете использовать GRPC клиент, чтобы делать вызовы

PreviousОсновные эндпоинты APINextСинхронизация состояния

Last updated 2 years ago

Эндпоинты POST

Данные эндпоинты требуют наличие подписанной транзакции (Tx). Здесь вы можете найти пример использования клиента cosmjs

Размещение ордеров

Модуль DEX

Данный эндпоинт принимает запрос на массовое размещение ордеров.

rpc PlaceOrders(MsgPlaceOrders) returns (MsgPlaceOrdersResponse);

message MsgPlaceOrders {
  string creator = 1;
  repeated OrderPlacement orders = 2;
  string contractAddr = 3;
  repeated cosmos.base.v1beta1.Coin funds = 5 [
    (gogoproto.nullable) = false,
    (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
  ];
}

message MsgPlaceOrdersResponse {
  repeated uint64 orderIds = 1;
}

Отмена ордеров

Модуль DEX

Данный эндпоинт принимает запрос на массовую отмену ордеров.

rpc CancelOrders(MsgCancelOrders) returns (MsgCancelOrdersResponse);

message MsgCancelOrders {
  string creator = 1;
  repeated OrderCancellation orderCancellations = 2;
  string contractAddr = 3;
}

message MsgCancelOrdersResponse {}

Ликвидация

Модуль DEX

Эндпоинт ликвидирует аккаунт.

message MsgLiquidation {
  string creator = 1;
  string accountToLiquidate = 2;
  string contractAddr = 3;
}

message MsgLiquidationResponse {}

Предварительное голосование по обменному курсу

Модуль Оракул

Данный эндпоинт отправляет оракулу хэш предварительного голосования для следующего цикла.

message MsgAggregateExchangeRatePrevote {
  string hash = 1;
  string feeder = 2;
  string validator = 3;
}

message MsgAggregateExchangeRatePrevoteResponse {}

Голосование по обменному курсу

Модуль Оракул

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

message MsgAggregateExchangeRateVote {
  string salt = 1;
  string exchange_rates = 2;
  string feeder = 3;
  string validator = 4;
}

message MsgAggregateExchangeRateVoteResponse {}

Эндпоинты GET

Получение последних сделок

Модуль DEX

Эндпоинт принимает id рынка и возвращает сделки, размещенные в последнем блоке.

GetSettledTradesRequest {
  int market_id;
}

GetSettledTradesResponse {
  vector<Order> settled_trades;
}

Получение полной книги ордеров

Модуль DEX

Эндпоинт принимает id рынка и возвращает полную книгу ордеров в последнем блоке. Сервис: codchen.matrixchain.dex.Query Метод: LongBook Формат сообщения:

// Request
QueryGetLongBookRequest {
  uint64 id = 1;
}

// Response
QueryGetLongBookResponse {
  LongBook LongBook = 1 [(gogoproto.nullable) = false];
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: codchen.matrixchain.dex.Query
? Choose a method: LongBook
Message json (type ? to see defaults): {"id": 0}

Получение краткой книги ордеров

Модуль DEX

Эндпоинт принимает id рынка и возвращает краткую книгу ордеров в последнем блоке. Сервис: codchen.matrixchain.dex.Query Метод: ShortBook Формат сообщения:

// Request
QueryGetShortBookRequest {
  uint64 id = 1;
}

// Response
QueryGetShortBookResponse {
  ShortBook ShortBook = 1 [(gogoproto.nullable) = false];
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: codchen.matrixchain.dex.Query
? Choose a method: ShortBook
Message json (type ? to see defaults): {"id": 0}

Получение обменного курса

Модуль Оракул

Эндпоинт возвращает обменный курс для определенной валюты. Сервис: seiprotocol.seichain.oracle.Query Метод: ExchangeRate Формат сообщения:

// Request
QueryExchangeRatesRequest {}

// Response
QueryExchangeRateResponse {
  OracleExchangeRate oracle_exchange_rate = 1 [(gogoproto.nullable) = false];
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: seiprotocol.seichain.oracle.Query
? Choose a method: ExchangeRate
Message json (type ? to see defaults): {"denom": "foo"}

Получение обменных курсов

Модуль Оракул

Эндпоинт возвращает все активные обменные курсы. Сервис: seiprotocol.seichain.oracle.Query Метод: ExchangeRates Формат сообщения:

// Request
QueryExchangeRateRequest {
  string denom = 1;
}

DenomOracleExchangeRatePair {
  string denom = 1;
  OracleExchangeRate oracle_exchange_rate = 2 [(gogoproto.nullable) = false];
}

// Response
QueryExchangeRatesResponse {
  // exchange_rates defines a list of the exchange rate for all whitelisted denoms.
  repeated DenomOracleExchangeRatePair denom_oracle_exchange_rate_pairs = 1;
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: seiprotocol.seichain.oracle.Query
? Choose a method: ExchangeRates
Message json (type ? to see defaults): {}

Получение целей для голосования

Модуль Оракул

Эндпоинт возвращает все наименования, доступные для голосования по цене. Сервис: seiprotocol.seichain.oracle.Query Метод: VoteTargets Формат сообщения:

// Request
QueryVoteTargetsRequest {}

// Response
QueryVoteTargetsResponse {
  repeated string vote_targets = 1;
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: seiprotocol.seichain.oracle.Query
? Choose a method: VoteTargets
Message json (type ? to see defaults): {}

Получение счетчика пропусков

Модуль Оракул

Эндпоинт возвращает счетчик пропусков для конкретного валидатора. Сервис: seiprotocol.seichain.oracle.Query Метод: MissCounter Формат сообщения:

// Request
QueryMissCounterRequest {
  string validator_addr = 1;
}

// Response
QueryMissCounterResponse {
  uint64 miss_counter = 1;
}

// Example (using grpc-client-cli)
> grpc-client-cli localhost:9090
? Choose a service: seiprotocol.seichain.oracle.Query
? Choose a method: MissCounter
Message json (type ? to see defaults): {"validator_addr": "seivaloperADDR"}

Другие эндпоинды, доступные для использования, а также подробную спецификацию вы сможете найти здесь

https://github.com/sei-protocol/sei-chain/blob/master/oracle/oracle.js
https://github.com/sei-protocol/sei-chain/blob/master/proto/oracle/query.proto