Установка и использование платформы
REST API: информация о смарт-контрактах¶
Для получения информации о смарт-контрактах, загруженных в сеть, предусмотрен набор методов группы contracts
.
GET /contracts¶
Метод возвращает информацию по всем смарт-контрактам, загруженным в сеть. Для каждого смарт-контракта в ответе возвращаются следующие параметры:
contractId
– идентификатор смарт-контракта;image
– имя Docker-образа смарт-контракта, либо его абсолютный путь в репозитории;imageHash
– хэш-сумма смарт-контракта;version
– версия смарт-контракта;active
– статус смарт-контракта на момент отправки запроса:true
– запущен;false
– не запущен.
Пример ответа для одного смарт-контракта:
POST /contracts¶
Метод возвращает набор полей «ключ:значение», записанных в стейт одного или нескольких смарт-контрактов.
ID запрашиваемых смарт-контрактов указываются в поле contracts
запроса.
Пример ответа для одного смарт-контракта:
GET /contracts/status/{id}¶
Метод возвращает статус исполняемой транзакции 103 (создания смарт-контракта) или другой транзакции вызова контракта (Call, Update) по идентификатору транзакции {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} исполненного смарт-контракта по его идентификатору.
Пример ответа: