Методы REST API сервиса подготовки данных¶
Транзакции¶
Набор методов, позволяющий выводить список транзакций по заданным условиям и фильтрам.
GET /transactions¶
Возвращает список транзакций, соответствующий условиям поискового запроса и применённым фильтрам.
Важно
За один запрос через метод API GET /transactions возвращается не более 500 транзакций.
Ответ метода:
[
{
"id": "string",
"type": 0,
"height": 0,
"fee": 0,
"sender": "string",
"senderPublicKey": "string",
"signature": "string",
"timestamp": 0,
"version": 0
}
]
GET /transactions/count¶
Возвращает количество транзакций, соответствующих условиям поискового запроса и применённым фильтрам.
Ответ метода:
{
"count": "string"
}
GET /transactions/{id}¶
Возвращает транзакцию по идентификатору {id}.
Ответ метода:
{
"id": "string",
"type": 0,
"height": 0,
"fee": 0,
"sender": "string",
"senderPublicKey": "string",
"signature": "string",
"timestamp": 0,
"version": 0
}
Наборы токенов¶
Набор методов, позволяющий вывести информацию о доступных наборах токенов в блокчейне.
GET /assets¶
Возвращает список доступных в блокчейне наборов токенов (в виде транзакций выпуска токенов).
Ответ метода:
[
{
"index": 0,
"id": "string",
"name": "string",
"description": "string",
"reissuable": true,
"quantity": 0,
"decimals": 0
}
]
POST /assets/count¶
Возвращает количество доступных в блокчейне наборов токенов.
Ответ метода
{
"count": 0
}
GET /assets/{id}¶
Возвращает информацию о доступном наборе токенов по его {id}.
Ответ метода
{
"index": 0,
"id": "string",
"name": "string",
"description": "string",
"reissuable": true,
"quantity": 0,
"decimals": 0
}
Пользователи¶
Набор методов, позволяющий вывести информацию об участниках блокчейна в соответствии с заданными условиями и фильтрами.
GET /users¶
Возвращает список пользователей, соответствующий условиям поискового запроса и применённым фильтрам.
Ответ метода:
[
{
"address": "string",
"aliases": [
"string"
],
"registration_date": "string",
"permissions": [
"string"
]
}
]
GET /users/count¶
Возвращает количество пользователей, удовлетворяющих установленным в запросе фильтрам.
Ответ метода:
{
"count": 0
}
GET /users/{userAddressOrAlias}¶
Возвращает информацию о пользователе по его адресу или алиасу.
Ответ метода:
{
"address": "string",
"aliases": [
"string"
],
"registration_date": "string",
"permissions": [
"string"
]
}
GET /users/contract-id/{contractId}¶
Возвращает список пользователей, вызывавших когда-либо смарт-контракт с указанным {contractId}.
Ответ метода:
{
"address": "string",
"aliases": [
"string"
],
"registration_date": "string",
"permissions": [
"string"
]
}
POST /users/by-addresses¶
Возвращает список пользователей для заданного набора адресов.
Ответ метода:
[
{
"index": 0,
"id": "string",
"name": "string",
"description": "string",
"reissuable": true,
"quantity": 0,
"decimals": 0
}
]
Блоки¶
GET /blocks/at/{height}¶
Возвращает блок на указанной высоте.
Ответ метода:
{
"version": 0,
"timestamp": 0,
"reference": "string",
"features": [
0
],
"generator": "string",
"signature": "string",
"blocksize": 0,
"transactionsCount": 0,
"fee": 0,
"height": 0,
"transactions": [
{
"id": "string",
"type": 0,
"height": 0,
"fee": 0,
"sender": "string",
"senderPublicKey": "string",
"signature": "string",
"timestamp": 0,
"version": 0
}
]
Смарт-контракты¶
Набор методов, позволяющий вывести информацию о смарт-контрактах Docker, загруженных в блокчейн.
GET /contracts¶
Возвращает список смарт-контрактов в блокчейне по заданным условиям и фильтрам.
Ответ метода:
[
{
"id": "string",
"type": 0,
"height": 0,
"fee": 0,
"sender": "string",
"senderPublicKey": "string",
"signature": "string",
"timestamp": 0,
"version": 0
}
]
GET /contracts/count¶
Возвращает количество смарт-контрактов в блокчейне, соответствующих заданным условиям и фильтрам.
Ответ метода:
{
"count": 0
}
GET /contracts/id/{id}¶
Возаращает информацию о смарт-контракте по его {id}.
Примечание
Для этого метода предусмотрен вывод стейта смарт-контракта по эндпоинту /state
. Для корректного вывода необходимо обработать параметры lastIndex
и limit
, чтобы ограничить количество выводимых записей. Пример: curl -X GET "https://<your-address>/dataServiceAddress/contracts/id/{id}/state?lastIndex=0&limit=50&q="
Ответ метода:
{
"id": "string",
"type": 0,
"height": 0,
"fee": 0,
"sender": "string",
"senderPublicKey": "string",
"signature": "string",
"timestamp": 0,
"version": 0
}
GET /contracts/id/{id}/versions¶
Возвращает историю версий смарт-контракта с заданным {id}.
Ответ метода:
[
{
"version": 0,
"image": "string",
"imageHash": "string",
"timestamp": "string"
}
]
GET /contacts/history/{id}/key/{key}¶
Возвращает историю изменений ключа смарт-контракта по его {id} и {key}.
Ответ метода:
{
"total": 777,
"data": [
{
"key": "some_key",
"type": "integer",
"value": "777",
"timestamp": 1559347200000,
"height": 14024
}
]
}
GET /contracts/senders-count¶
Возвращает количество уникальных участников, отправляющих транзакции 104 на вызов смарт-контрактов.
Ответ метода:
{
"count": 777
}
GET /contracts/calls¶
Возвращает список транзакций 104 на вызов смарт-контрактов с их параметрами и результатами.
Ответ метода:
[
{
"id": "string",
"type": 0,
"height": 0,
"fee": 0,
"sender": "string",
"senderPublicKey": "string",
"signature": "string",
"timestamp": 0,
"version": 0,
"contract_id": "string",
"contract_name": "string",
"contract_version": "string",
"image": "string",
"fee_asset": "string",
"finished": "string",
"params": [
{
"tx_id": "string",
"param_key": "string",
"param_type": "string",
"param_value_integer": 0,
"param_value_boolean": true,
"param_value_binary": "string",
"param_value_string": "string",
"position_in_tx": 0,
"contract_id": "string",
"sender": "string"
}
],
"results": [
{
"tx_id": "string",
"result_key": "string",
"result_type": "string",
"result_value_integer": 0,
"result_value_boolean": true,
"result_value_binary": "string",
"result_value_string": "string",
"position_in_tx": 0,
"contract_id": "string",
"time_stamp": "string"
}
]
}
]
Группы доступа¶
Набор методов, позволяющий вывести информацию о группах доступа и нодах в блокчейне.
GET /privacy/groups¶
Возвращает список групп доступа в блокчейне.
Ответ метода:
[
{
"id": "string",
"name": 0,
"description": "string",
"createdAt": "string"
}
]
GET /privacy/groups/count¶
Возвращает количество групп доступа в блокчейне.
Ответ метода:
{
"count": 0
}
GET /privacy/groups/{address}¶
Возвращает список групп доступа, в которые входит заданный {address}.
Ответ метода:
[
{
"id": "string",
"name": 0,
"description": "string",
"createdAt": "string"
}
]
GET /privacy/groups/by-recipient/{address}¶
Возвращает список групп доступа, в которых заданный {address} фигурирует как получатель данных.
Ответ метода:
[
{
"id": "string",
"name": 0,
"description": "string",
"createdAt": "string"
}
]
GET /privacy/groups/{address}/count¶
Возвращает количество групп доступа, в которые входит заданный {address}.
Ответ метода:
{
"count": 0
}
GET /privacy/groups/id/{id}¶
Возвращает информацию о группе доступа по ее {id}.
Ответ метода:
{
"id": "string",
"name": 0,
"description": "string",
"createdAt": "string"
}
GET /privacy/groups/id/{id}/history¶
Возвращает историю изменений группы доступа по ее {id} (в виде списка отправленных транзакций 112-114 с их описанием).
Ответ метода:
{
"id": "string",
"name": 0,
"description": "string",
"createdAt": "string"
}
GET /privacy/groups/id/{id}/history/count¶
Возвращает количество отправленных транзакций 112-114 для внесения изменений в группу доступа с указанным {id}.
Ответ метода:
{
"id": "string",
"name": 0,
"description": "string",
"createdAt": "string"
}
GET /privacy/nodes¶
Возвращает список доступных нод в блокчейне.
Ответ метода:
[
{
"id": "string",
"name": 0,
"description": "string",
"createdAt": "string"
}
]
GET /privacy/nodes/count¶
Возвращает количество доступных нод в блокчейне.
Ответ метода:
{
"count": 0
}
GET /privacy/nodes/publicKey/{targetPublicKey}¶
Возвращает информацию о ноде по ее публичному ключу {targetPublicKey}.
Ответ метода:
[
{
"id": "string",
"name": 0,
"description": "string",
"createdAt": "string"
}
]
GET /privacy/nodes/address/{address}¶
Возвращает информацию о ноде по ее адресу {address}.
Ответ метода:
[
{
"id": "string",
"name": 0,
"description": "string",
"createdAt": "string"
}
]
Транзакции с данными¶
GET /api/v1/txIds/{key}¶
Возвращает список идентификаторов транзакций с данными, содержащих указанный ключ {key}.
Ответ метода:
[
{
"id": "string"
}
]
GET /api/v1/txIds/{key}/{value}¶
Возвращает список идентификаторов транзакций с данными, содержащих указанный ключ {key} и значение {value}.
Ответ метода:
[
{
"id": "string"
}
]
GET /api/v1/txData/{key}¶
Возвращает тела транзакций с данными, содержащие указанный ключ {key}.
Ответ метода:
[
{
"id": "string",
"type": "string",
"height": 0,
"fee": 0,
"sender": "string",
"senderPublicKey": "string",
"signature": "string",
"timestamp": 0,
"version": 0,
"key": "string",
"value": "string",
"position_in_tx": 0
}
]
GET /api/v1/txData/{key}/{value}¶
Возвращает тела транзакций с данными, содержащие указанный ключ {key} и значение {value}.
Ответ метода:
[
{
"id": "string",
"type": "string",
"height": 0,
"fee": 0,
"sender": "string",
"senderPublicKey": "string",
"signature": "string",
"timestamp": 0,
"version": 0,
"key": "string",
"value": "string",
"position_in_tx": 0
}
]
Функции лизинга¶
GET /leasing/calc¶
Возвращает сумму выплат за лизинг токенов в указанном интервале высот блоков.
Ответ метода:
{
"payouts": [
{
"leaser": "3P1EiJnPxFxGyhN9sucXfB2rhQ1ws4cmuS5",
"payout": 234689
}
],
"totalSum": 4400000,
"totalBlocks": 1600
}
Вспомогательные функции сервиса подготовки данных¶
GET /info¶
Возвращает информацию о сервисе подготовки данных.
Ответ метода:
{
"version": "string",
"buildId": "string",
"gitCommit": "string"
}
GET /status¶
Возвращает информацию о состоянии сервиса подготовки данных.
Ответ метода:
{
"status": "string"
}
Функции статистики и мониторинга¶
GET /stats/transactions¶
Возвращает информацию о проведенных транзакциях за указанный временной промежуток.
Ответ метода:
{
"aggregation": "day",
"data": [
{
"date": "2020-03-01T00:00:00.000Z",
"transactions": [
{
"type": 104,
"count": 100
}
]
}
]
}
GET /stats/contracts¶
Возвращает информацию о транзакциях вызова смарт-контрактов за указанный временной промежуток.
Ответ метода:
{
"aggregation": "day",
"data": [
{
"date": "2020-03-01T00:00:00.000Z",
"transactions": [
{
"type": 104,
"count": 100
}
]
}
]
}
GET /stats/tokens¶
Возвращает информацию об обороте токенов в блокчейне за указанный временной промежуток.
Ответ метода:
{
"aggregation": "day",
"data": [
{
"date": "2020-03-01T00:00:00.000Z",
"sum": "12000.001"
}
]
}
GET /stats/addresses-active¶
Возвращает адреса, которые были активными в указанный временной промежуток.
Ответ метода:
{
"aggregation": "day",
"data": [
{
"date": "2020-03-01T00:00:00.000Z",
"senders": "12",
"recipients": "12"
}
]
}
GET /stats/addresses-top¶
Возвращает адреса, которые были наиболее активными отправителями или получателями в указанный временной промежуток.
Ответ метода:
{
"aggregation": "day",
"data": [
{
"date": "2020-03-01T00:00:00.000Z",
"senders": "12",
"recipients": "12"
}
]
}
GET /stats/nodes-top¶
Возвращает адреса нод, которые создали наибольшее количество блоков в указанный временной промежуток.
Ответ метода:
{
"limit": "10",
"data": [
{
"generator": "3NdPsjaFC7NeioGVF6X4J5A8FVaxdtKvAba",
"count": "120",
"node_name": "Genesis Node #5"
}
]
}
GET /stats/contract-calls¶
Возвращает список смарт-контрактов, вызванных наибольшее количество раз в указанный временной промежуток.
Ответ метода:
{
"limit": "5",
"data": [
{
"contract_id": "Cm9MDf7vpETuzUCsr1n2MVHsEGk4rz3aJp1Ua2UbWBq1",
"count": "120",
"contract_name": "oracle_contract",
"last_call": "60.321"
}
]
}
GET /stats/contract-last-calls¶
Возвращает список последних вызовов смарт-контрактов по их id и названию.
Ответ метода:
{
"limit": "5",
"data": [
{
"contract_id": "Cm9MDf7vpETuzUCsr1n2MVHsEGk4rz3aJp1Ua2UbWBq1",
"contract_name": "oracle_contract",
"last_call": "60.321"
}
]
}
GET /stats/contract-types¶
Возвращает список смарт-контрактов блокчейна по именам образов и их хэшам.
Ответ метода:
{
"limit": "5",
"data": [
{
"id": "Cm9MDf7vpETuzUCsr1n2MVHsEGk4rz3aJp1Ua2UbWBq1",
"image": "registry.wvservices.com/waves-enterprise-public/oracle-contract:v0.1",
"image_hash": "936f10207dee466d051fe09669d5688e817d7cdd81990a7e99f71c1f2546a660",
"count": "60",
"sum": "6000"
}
]
}
GET /stats/monitoring¶
Возвращает информацию о сети.
Ответ метода:
{
"tps": "5",
"blockAvgSize": "341.391",
"senders": "50",
"nodes": "50",
"blocks": "500000"
}
Функции анкоринга¶
GET /anchoring/rounds¶
Возвращает список транзакций в соответствии с заданными условиями и фильтрами.
Ответ метода:
[
{
"height": 0,
"sideChainTxIds": [
"string"
],
"mainNetTxIds": [
"string"
],
"status": "string",
"errorCode": 0
}
]
GET /anchoring/round/at/{height}¶
Возвращает информацию о раунде анкоринга на указанной высоте блоков {height}.
Ответ метода:
{
"height": 0,
"sideChainTxIds": [
"string"
],
"mainNetTxIds": [
"string"
],
"status": "string",
"errorCode": 0
}
GET /anchoring/info¶
Возвращает информацию об анкоринге в блокчейне.
Ответ метода:
{
"height": 0,
"sideChainTxIds": [
"string"
],
"mainNetTxIds": [
"string"
],
"status": "string",
"errorCode": 0
}