Как устроена платформа
REST API: методы сервиса подготовки данных¶
Сервису подготовки данных доступны следующие группы методов:
Группа методов 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/info/{contractId}¶
Метод возвращает информацию о смарт-контракте по его идентификатору {contractId}
.
Пример ответа:
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¶
Метод возвращает информацию о состоянии сервиса подготовки данных.
Пример ответа: