Установка и использование платформы

REST API: информация об участниках сети

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

Для получения информации об участниках сети предусмотрено три группы методов:

  • addresses – методы, предназначенные для получения информации об адресах участников сети;

  • alias – получение адреса участника по установленному для него псевдониму или псевдонима по адресу участника;

  • leasing – запрос GET /leasing/active/{address}, выводящий список транзакций лизинга, в которых адрес принимал участие как отправитель или получатель.

Группа addresses

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

Примечание

Для получения информации об адресах участников сети также можно использовать методы gRPC сервиса AddressPublicService.

GET /addresses

Получение всех адресов участников, ключевые пары которых хранятся в keystore ноды.

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

GET /addresses:
[
  "3NBVqYXrapgJP9atQccdBPAgJPwHDKkh6A8",
  "3Mx2afTZ2KbRrLNbytyzTtXukZvqEB8SkW7"
]

Примечание

Для получения всех адресов участников, ключевые пары которых хранятся в keystore ноды, также можно использовать gRPC метод GetAddresses.

GET /addresses/seq/{from}/{to}

Получение адресов участников, которые хранятся в keystore ноды в заданном диапазоне: от адреса {from} до адреса {to}.

Формат ответа метода идентичен формату GET /addresses.

GET /addresses/balance/{address}

Получение баланса для адреса {address}.

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

GET /addresses/balance/{address}:
{
  "address": "3N3keodUiS8WLEw9W4BKDNxgNdUpwSnpb3K",
  "confirmations": 0,
  "balance": 100945889661986
}

POST /addresses/balance/details

Получение подробной информации о балансе для списка адресов, который указывается в виде массива в поле addresses при запросе.

Параметры, возвращаемые в ответе метода:

  • regular — сумма токенов, принадлежащих непосредственно участнику (R);

  • available — общий баланс участника, за исключением средств, переданных участником в лизинг (A = R – L);

  • effective — общий баланс участника, включая средства, переданные участнику в лизинг, и за вычетом средств, которые участник сам передал в лизинг (E = R + F – L);

  • generating — генерирующий баланс участника, включая средства, переданные в лизинг, за последние 1000 блоков.

Переменные в скобках: L – средства, переданные участником в лизинг другим участникам, F – средства, полученные участником в лизинг.

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

POST /addresses/balance/details:
[
  {
    "address": "3M4Bxh2VfzKFXqiQB8bDgRfVnPWrZUQ2MEF",
    "regular": 59899999999400000,
    "generating": 59899999999400000,
    "available": 59899999999400000,
    "effective": 59899999999400000
  }
]

GET /addresses/balance/details/{address}

Получение подробной информации о балансе для отдельного адреса. Информация в ответе идентична методу POST /addresses/balance/details.

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

GET /addresses/balance/details/{address}:
[
  {
    "address": "3N65yEf31ojBZUvpu4LCo7n8D73juFtheUJ",
    "regular": 0,
    "generating": 0,
    "available": 0,
    "effective": 0
  }
]

GET /addresses/effectiveBalance/{address}

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

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

GET /addresses/effectiveBalance/{address}:
{
   "address": "3GLWx8yUFcNSL3DER8kZyE4TpyAyNiEYsKG",
   "confirmations": 0,
   "balance": 1240001592820000
}

GET /addresses/effectiveBalance/{address}/{confirmations}

Получение баланса для адреса {address} после количества подтверждений >= {confirmations}. Возвращается общий баланс участника, включая средства, переданные участнику в лизинг.

Пример ответа для количества подтверждений >= 1:

GET /addresses/effectiveBalance/{address}/{confirmations}:
{
  "address": "3N65yEf31ojBZUvpu4LCo7n8D73juFtheUJ",
  "confirmations": 1,
  "balance": 0
}

GET /addresses​/generatingBalance​/{address}​/at​/{height}

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

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

GET /addresses​/generatingBalance​/{address}​/at​/{height}:
{
  "address": "3NkZd8Xd4KsuPiNVsuphRNCZE3SqJycqv8d",
  "generatingBalance": 1011543800600
}

GET /addresses/scriptInfo/{address}

Получение данных о скрипте, установленном на адресе.

Параметры, возвращаемые в ответе метода:

  • address – адрес в формате base58;

  • script – тело скрипта в формате base64;

  • scriptText – исходный код скрипта;

  • complexity – сложность скрипта;

Сложность скрипта – число от 1 до 100, отражающее количество вычислительных ресурсов, требуемое для исполнения скрипта.

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

GET /addresses/scriptInfo/{address}:
{
  "address": "3N3keodUiS8WLEw9W4BKDNxgNdUpwSnpb3K",
  "script": "3rbFDtbPwAvSp2vBvqGfGR9nRS1nBVnfuSCN3HxSZ7fVRpt3tuFG5JSmyTmvHPxYf34SocMRkRKFgzTtXXnnv7upRHXJzZrLSQo8tUW6yMtEiZ",
  "scriptText": "ScriptV1(BLOCK(LET(x,CONST_LONG(1)),FUNCTION_CALL(FunctionHeader(==,List(LONG, LONG)),List(FUNCTION_CALL(FunctionHeader(+,List(LONG, LONG)),List(REF(x,LONG), CONST_LONG(1)),LONG), CONST_LONG(2)),BOOLEAN),BOOLEAN))",
  "complexity": 11,
}

GET /addresses/publicKey/{publicKey}

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

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

GET /addresses/publicKey/{publicKey}:
{
  "address": "3N4WaaaNAVLMQgVKTRSePgwBuAKvZTjAQbq"
}

GET /addresses/data/{address}

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

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

GET /addresses/data/{address}:
[
  {
    "key": "4yR7b6Gv2rzLrhYBHpgVCmLH42raPGTF4Ggi1N36aWnY",
    "type": "integer",
    "value": 1500000
  }
]

Примечание

Для получения данных, записанных на указанном адресе при помощи транзакций DataTransaction, также можно использовать gRPC метод GetAddressData.

GET /addresses/data/{address}/{key}

Метод возвращает данные, записанные на указанном адресе с ключом {key}. Этот ключ указывается в транзакции 12 в поле data.key.

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

GET /addresses/data/{address}/{key}:
{
  "key": "4yR7b6Gv2rzLrhYBHpgVCmLH42raPGTF4Ggi1N36aWnY",
  "type": "integer",
  "value": 1500000
}

Примечание

Для получения данных, записанных на указанном адресе при помощи транзакций DataTransaction с ключом {key}, также можно использовать gRPC метод GetAddressDataByKey.

Группа alias

Используйте REST методы группы alias для получения адреса участника по установленному для него псевдониму или псевдонима по адресу участника.

Примечание

Для получения информации об адресах и псевдонимах участников сети также можно использовать методы gRPC сервиса AliasPublicService.

GET /alias/by-alias/{alias}

Получение адреса участника по его псевдониму {alias}.

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

GET /alias/by-alias/{alias}:
{
     "address": "address:3Mx2afTZ2KbRrLNbytyzTtXukZvqEB8SkW7"
}

Примечание

Для получения адреса участника сети по его псевдониму также можно использовать gRPC метод AddressByAlias.

GET /alias/by-address/{address}

Получение псевдонима участника по его адресу {address}.

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

GET /alias/by-alias/{alias}:
[
    "alias:participant1",
]

Примечание

Для получения псевдонима участника сети по его адресу также можно использовать gRPC метод AliasesByAddress.

Группа leasing

GET /leasing/active/{address}

Метод возвращает список транзакций создания лизинга, в которых адрес {address} принимал участие как отправитель или получатель. При этом учитываются транзакции 8. Lease Transaction и 105. ExecutedContract Transaction с типом операции Lease (assetOperation.operationType = lease).

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

GET /alias/by-alias/{alias}:
[
  {
    "type": 8,
    "id": "2jWhz6uGYsgvfoMzNR5EEGdi9eafyCA2zLFfkM4NP6T7",
    "sender": "3PP6vdkEWoif7AZDtSeSDtZcwiqSfhmwttE",
    "senderPublicKey": "DW9NKLYeyoEWDqJKhWv87EdFfTqpFtJBWoCqfCVwRhsY",
    "fee": 100000,
    "timestamp": 1544390280347,
    "signature": "25kpwh7nYjRUtfbAbWYRyMDPCUCoyMoUuWTJ6vZQrXsZYXbdiWHa9iGscTTGnPFyegP82sNSfM2bXNX3K7p6D3HD",
    "version": 1,
    "amount": 31377465877,
    "recipient": "3P3RD3yJW2gQ9dSVwVVDVCQiFWqaLtZcyzH",
    "height": 1298747
  }
]
Смотрите также