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

REST API: информация о смарт-контрактах

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

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

GET /contracts

Метод возвращает информацию по всем смарт-контрактам, загруженным в сеть. Для каждого смарт-контракта в ответе возвращаются следующие параметры:

  • contractId - идентификатор смарт-контракта;

  • image - имя Docker-образа смарт-контракта, либо его абсолютный путь в репозитории;

  • imageHash - хэш-сумма смарт-контракта;

  • version - версия смарт-контракта;

  • active - статус смарт-контракта на момент отправки запроса: true - запущен, false - не запущен.

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

POST /contracts

Метод возвращает набор полей «ключ:значение», записанных в стейт одного или нескольких смарт-контрактов. ID запрашиваемых смарт-контрактов указываются в поле contracts запроса.

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

GET /contracts/status/{id}

Метод возвращает статус исполняемой транзакции 103 на создание смарт-контракта по идентификатору транзакции {id}. Однако если после отправки транзакции в блокчейн нода перезапускается, метод не вернет корректное состояние этой транзакции.

В ответе метода возвращаются следующие параметры:

  • sender - адрес отправителя транзакции;

  • senderPublicKey - публичный ключ отправителя транзакции;

  • txId - ID транзакции;

  • status - статус транзакции: успешно попала в блок, подтверждена, отклонена;

  • code - код ошибки (при наличии);

  • message - сообщение о статусе транзакции;

  • timestamp - временная метка в формате Unix Timestamp, в миллисекундах;

  • signature - подпись транзакции.

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

GET /contracts/{contractId}

Метод возвращает результат исполнения смарт-контракта по его идентификатору {contractId}.

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

POST /contracts/{contractId}

Метод возвращает значения ключей из стейта смарт-контракта {contractId}. В запросе указываются следующие данные:

  • contractId - идентификатор смарт-контракта;

  • limit - ограничение количества выводимых блоков данных;

  • offset - количество блоков данных для пропуска в выводе;

  • matches - опциональный параметр для составления регулярного выражения, по которому фильтруются ключи.

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

GET /contracts/executed-tx-for/{id}

Метод возвращает результат исполнения смарт-контракта по идентификатору транзакции 105.

В ответе метода возвращаются данные транзакции 105, а также результаты исполнения в поле results.

Пример ответа, смарт-контракт не исполнялся:

GET /contracts/{contractId}/{key}

Возвращает значение ключа {key} исполненного смарт-контракта по его идентификатору.

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