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

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
  }
]
Смотрите также