Сервис подготовки данных

Сервис агрегирует данные из блокчейна в реляционную БД и предоставляет API для доступа к этим данным. Функциональные возможности сервиса спроектированы под потребности клиента Vostok. Для запросов доступны уточняющие параметры.

Использование

Для использования сервиса необходимо развернуть свой экземпляр клиента и ноды из комплекта поставки. На данный момент доступ к API сервиса подготовки данных в публичной сети ограничен.

Уточняющие параметры

Поиск

Поиск совпадения — принимает на вход строку и диапазон для поиска совпадения.

Диапазон поиска совпадений:

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

Фильтры

Определяют возвращаемые методами API данные о транзанзакциях. Доступны следующие фильтры:

  • По типу транзакций — числовой идентификатор типа транзакций. Идентификаторы описаны в разделе Структура объектов.

  • По набору токенов - идентификатор набора токенов (идентификатор транзакции создания набора токенов).

  • По сумме транзакции (требует указания типа транзакций и идентификатора набора токенов):

    • Сумма транзакции равна - число;
    • Сумма транзакции от - число;
    • Сумма транзакции до - число.
  • По дате (требует указания обоих значений диапазона):

    • Дата транзакции от в формате гггг-мм-чч;
    • Дата транзакции до гггг-мм-чч.
  • Разрешения — отображает транзакции разрешений, требует указания типа транзакци «Permission».

  • Индекс и Лимит— возвращает из БД транзакции до указанного индекса согласно заданному лимиту.

Транзакции

GET /transactions

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

Ответ метода:

[
 {
    "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}.

Ответ метода:

{
"id": "string",
"type": 0,
"height": 0,
"fee": 0,
"sender": "string",
"senderPublicKey": "string",
"signature": "string",
"timestamp": 0,
"version": 0
}

Наборы токенов

GET /assets

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

Ответ метода:

[
 {
    "id": "string",
    "type": 0,
    "height": 0,
    "fee": 0,
    "sender": "string",
    "senderPublicKey": "string",
    "signature": "string",
    "timestamp": 0,
    "version": 0,
    "assetId": "string",
    "name": "string",
    "description": "string",
    "quantity": 0,
    "decimals": 0,
    "reissuable": true
 }
]

Пользователи

GET /users

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

Ответ метода:

[
 {
    "address": "string",
    "aliases": [
    "string"
    ],
    "registration_date": "string",
    "permissions": [
    "string"
    ],
    "balances": [
    {
    "assetId": "string",
     "amount": 0
    }
    ]
 }
]

GET /users/{userAddress}

Возвращает информацию о пользователе по его адресу.

Ответ метода:

{
"address": "string",
"aliases": [
    "string"
],
"registration_date": "string",
"permissions": [
    "string"
],
"balances": [
    {
      "assetId": "string",
    "amount": 0
    }
]
}

Блоки

GET /blocks/{height}

Возвращает блок на указанной высоте.

Ответ метода:

{
 "version": 0,
 "timestamp": 0,
 "reference": "string",
 "nxt-consensus": {
     "base-target": 0,
     "generation-signature": "string"
 },
 "features": [
     0
 ],
 "generator": "string",
 "signature": "string",
 "blocksize": 0,
 "transactionCount": 0,
 "fee": 0,
 "height": 0,
 "transactions": [
     {
     "id": "string",
     "type": 0,
     "height": 0,
     "fee": 0,
     "sender": "string",
     "senderPublicKey": "string",
     "signature": "string",
     "timestamp": 0,
     "version": 0
     }
 ]
 }

Транзакции с данными

GET /api/v1/txIds/{key}

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

Ответ метода:

[
{
    "id": "string"
}
]

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

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

Ответ метода:

[
{
    "id": "string"
}
]

GET /api/v1/txData/{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}

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

Ответ метода:

[
{
 "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
}
]