Как устроена платформа

REST API: методы сервиса подготовки данных

https://img.shields.io/badge/auth-required-orange.svg

Сервису подготовки данных доступны следующие группы методов:

Группа методов Assets

Методы группы Assets предназначены для получения данных о наборах токенов (ассетах).

GET /assets

Метод предназначен для получения списка доступных в блокчейне ассетах. Список выводится в виде транзакций об эмисии соответствующих ассетов.

Пример ответа:

POST /assets/count

Метод возвращает количество доступных в блокчейне ассетов.

Пример ответа:

GET /assets/{id}

Метод возвращает информацию о доступном наборе токенов по его {id}.

В ответе метода выводятся следующие данные:

  • index - порядковый номер ассета;

  • id - идентификатор ассета;

  • name - имя ассета;

  • description - описание ассета;

  • reissuable - перевыпускаемость ассета;

  • quantity - количество токенов в ассете;

  • decimals - количество разрядов после запятой у используемого токена (WEST - 8)

Пример ответа:

Группа методов Blocks

GET /blocks/at/{height}

Метод возвращает содержимое блока на высоте height.

В ответе метода возвращаются следующие параметры:

  • reference - хэш-сумма блока;

  • blocksize - размер блока;

  • features - функциональные возможности, запущенные на момент создания блока;

  • signature - подпись блока;

  • fee - комиссия за транзакции, включенные в блок;

  • generator - адрес создателя блока;

  • transactionCount - количество транзакций, включенных в блок;

  • transactions - массив с телами транзакций, включенных в блок;

  • version - версия блока;

  • poa-consensus.overall-skipped-rounds - количество пропущенных раундов майнинга, при использовании алгоритма консенсуса PoA;

  • timestamp - временная метка создания блока в формате Unix Timestamp (в миллисекундах);

  • height - высота создания блока.

Пример ответа:

Группа методов Contracts

Методы группы Contracts предназначены для получения информации о смарт-контрактах блокчейна.

GET /contracts

Метод возвращает информацию по всем смарт-контрактам, загруженным в сеть. Для каждого смарт-контракта в ответе возвращаются следующие параметры:

  • contractId - идентификатор смарт-контракта;

  • image - имя Docker-образа смарт-контракта, либо его абсолютный путь в репозитории;

  • imageHash - хэш-сумма смарт-контракта;

  • version - версия смарт-контракта;

  • active - статус смарт-контракта на момент отправки запроса: true - запущен, false - не запущен.

Пример ответа для одного смарт-контракта:

GET /contracts/count

Метод возвращает количество смарт-контрактов в блокчейне, соответствующих заданным условиям и фильтрам.

Пример ответа:

GET /contracts/id/{id}

Метод возвращает информацию о смарт-контракте по его идентификатору {id}.

Пример ответа:

GET /contracts/id/{id}/versions

Метод возвращает историю версий смарт-контракта с заданным {id}.

Пример ответа для одной версии:

GET /contacts/history/{id}/key/{key}

Возвращает историю изменений ключа {key} смарт-контракта по его {id}.

Пример ответа для одного ключа:

GET /contracts/senders-count

Метод возвращает количество уникальных участников, отправляющих транзакции 104 на вызов смарт-контрактов.

Пример ответа:

GET /contracts/calls

Возвращает список транзакций 104 на вызов смарт-контрактов с их параметрами и результатами.

Пример ответа для одной транзакции:

Группа методов Privacy

Методы группы Privacy предназначены для получения информации о группах доступа к конфиденциальным данным.

GET /privacy/groups

Метод возвращает список групп доступа в блокчейне.

Пример ответа для одной группы доступа:

GET /privacy/groups/count

Метод возвращает количество групп доступа в блокчейне.

Пример ответа:

GET /privacy/groups/{address}

Метод возвращает список групп доступа, в которые входит заданный адрес {address}.

Пример ответа для одной группы доступа:

GET /privacy/groups/by-recipient/{address}

Метод возвращает список групп доступа, в которых заданный {address} фигурирует как получатель данных.

Пример ответа для одной группы доступа:

GET /privacy/groups/{address}/count

Метод возвращает количество групп доступа, в которые входит заданный {address}.

Пример ответа:

GET /privacy/groups/id/{id}

Метод возвращает информацию о группе доступа по ее идентификатору {id}.

Пример ответа:

GET /privacy/groups/id/{id}/history

Метод возвращает историю изменений группы доступа по ее {id}. История изменений возвращается в виде списка отправленных транзакций 112-114 с их описанием.

Пример ответа для одной транзакции:

GET /privacy/groups/id/{id}/history/count

Метод возвращает количество отправленных транзакций 112-114 для внесения изменений в группу доступа с указанным {id}.

Пример ответа:

GET /privacy/nodes

Метод возвращает список доступных нод в блокчейне.

Пример ответа для одной ноды:

GET /privacy/nodes/count

Метод возвращает количество доступных нод в блокчейне.

Пример ответа:

GET /privacy/nodes/publicKey/{targetPublicKey}

Метод возвращает информацию о ноде по ее публичному ключу {targetPublicKey}.

Пример ответа:

GET /privacy/nodes/address/{address}

Метод возвращает информацию о ноде по ее адресу {address}.

Пример ответа:

Группа методов Transactions

Методы группы Transactions предназначены для получения информации о транзакциях в блокчейне.

GET /transactions

Метод возвращает список транзакций, соответствующий условиям поискового запроса и применённым фильтрам.

Важно

За один запрос через метод GET /transactions возвращается не более 500 транзакций.

Пример ответа для одной транзакции:

GET /transactions/count

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

Пример ответа:

GET /transactions/{id}

Метод возвращает транзакцию по идентификатору {id}.

Пример ответа:

Группа методов Users

Метды группы Users предназначены для получения информации об участниках сети.

GET /users

Возвращает список участников, соответствующий условиям поискового запроса и применённым фильтрам.

Пример ответа для одного участника:

GET /users/count

Метод возвращает количество участников, удовлетворяющих установленным в запросе фильтрам.

Пример ответа для одного участника:

GET /users/{userAddressOrAlias}

Метод возвращает информацию об участнике по его адресу или алиасу.

Пример ответа:

GET /users/contract-id/{contractId}

Метод возвращает список участников, когда-либо вызывавших смарт-контракт с указанным {contractId}.

Пример ответа для одного участника:

POST /users/by-addresses

Метод возвращает список участников для заданного набора адресов.

Пример ответа для одного участника:

Методы для получения информации о транзакциях с данными (12)

Данная группа методов вызывается по маршруту /api/v1/txIds/.

GET /api/v1/txIds/{key}

Метод возвращает список идентификаторов транзакций с данными, содержащих указанный ключ {key}.

Пример ответа для одной транзакции:

GET /api/v1/txIds/{key}/{value}

Метод возвращает список идентификаторов транзакций с данными, содержащих указанный ключ {key} и значение {value}.

Пример ответа для одной транзакции:

GET /api/v1/txData/{key}

Метод возвращает тела транзакций с данными, содержащих указанный ключ {key}.

Пример ответа для одной транзакции:

GET /api/v1/txData/{key}/{value}

Метд возвращает тела транзакций с данными, содержащих указанные ключ {key} и значение {value}.

Пример ответа для одной транзакции:

Группа методов Leasing

GET /leasing/calc

Метод возвращает сумму выплат за лизинг токенов в указанном интервале высот блоков.

Пример ответа:

Группа методов Stats

Метды группы Stats предназначены для получения статистических данных и мониторинга блокчейна.

GET /stats/transactions

Метод возвращает информацию о проведенных транзакциях за указанный временной промежуток.

Пример ответа:

GET /stats/contracts

Метод возвращает информацию о транзакциях 104 за указанный временной промежуток.

Пример ответа:

GET /stats/tokens

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

Пример ответа:

GET /stats/addresses-active

Метод возвращает адреса, которые были активными в указанный временной промежуток.

Пример ответа:

GET /stats/addresses-top

Метод возвращает адреса, которые были наиболее активными отправителями или получателями в указанный временной промежуток.

Пример ответа:

GET /stats/nodes-top

Метод возвращает адреса нод, которые создали наибольшее количество блоков в указанный временной промежуток.

Пример ответа:

GET /stats/contract-calls

Метод возвращает список смарт-контрактов, вызванных наибольшее количество раз в указанный временной промежуток.

Пример ответа:

GET /stats/contract-last-calls

Метод возвращает список последних вызовов смарт-контрактов по их id и названию.

Пример ответа:

GET /stats/contract-types

Метод возвращает список смарт-контрактов блокчейна по именам образов и их хэшам.

Пример ответа:

GET /stats/monitoring

Метод возвращает общую информацию о сети.

Пример ответа:

Группа методов Anchoring

Методы группы Anchoring предназначены для получения информации о раундах анкоринга.

GET /anchoring/rounds

Метод возвращает список транзакций, отправленных в раундах анкоринга в соответствии с заданными условиями и фильтрами.

Пример ответа:

GET /anchoring/round/at/{height}

Метод возвращает информацию о раунде анкоринга на указанной высоте блоков {height}.

Пример ответа:

GET /anchoring/info

Метод возвращает информацию об анкоринге в блокчейне.

Пример ответа:

Вспомогательные методы сервиса подготовки данных

GET /info

Метод возвращает информацию об используемом сервисе подготовки данных.

Пример ответа:

GET /status

Метод возвращает информацию о состоянии сервиса подготовки данных.

Пример ответа: