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

REST API: информация о конфигурации и состоянии ноды, остановка ноды

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

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

  • anchoring – запрос GET /anchoring/config, возвращающий секцию anchoring конфигурационного файла ноды.

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

Примечание

Те же данные, что и с помощью REST методов группы node можно получить с помощью gRPC методов NodeConfig и NodeOwner.

Группа node:

GET /node/config

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

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

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

GET /node/config:
{
  "version": "1.12.0-Dev3-213-66e7eb5",
  "cryptoType": "gost",
  "chainId": "T",
  "consensus": "POA",
  "minimumFee": {
    "3": 100000000,
    "4": 1000000,
    "5": 100000000,
    "6": 5000000,
    "7": 500000,
    "8": 1000000,
    "9": 1000000,
    "10": 100000000,
    "11": 5000000,
    "12": 5000000,
    "13": 50000000,
    "14": 100000000,
    "15": 100000000,
    "102": 1000000,
    "103": 100000000,
    "104": 10000000,
    "106": 1000000,
    "107": 100000000,
    "111": 1000000,
    "112": 100000000,
    "113": 50000000,
    "114": 5000000,
    "120": 0
  },
  "additionalFee": {
    "11": 1000000,
    "12": 1000000
  },
  "maxTransactionsInMicroBlock": 500,
  "minMicroBlockAge": 0,
  "microBlockInterval": 1500,
  "pkiMode": "TEST",
  "requiredOids": [
    "1.1.1.1"
  ],
  "crlChecksEnabled": false,
  "blockTiming": {
    "roundDuration": 7000,
    "syncDuration": 1000
  }
}

Примечание

Те же данные, что и с помощью метода GET /node/config можно получить с помощью gRPC метода NodeConfig.

GET /node/owner

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

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

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

GET /node/config:
{
  "address": "3JFR1pmL6biTzr9oa63gJcjZ8ih429KD3aF",
  "publicKey": "EPxkVA9iQejsjQikovyxkkY8iHnbXsR3wjgkgE7ZW1Tt"
}

Примечание

Те же данные, что и с помощью метода GET /node/owner, можно получить с помощью gRPC метода NodeOwner.

GET /node/status

https://img.shields.io/badge/auth-no-brightgreen.svg

Метод возвращает информацию о текущем состоянии ноды.

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

GET /node/status:
{
    "blockchainHeight": 47041,
    "stateHeight": 47041,
    "updatedTimestamp": 1544709501138,
    "updatedDate": "2018-12-13T13:58:21.138Z"
    "lastCheckTimestamp": 1543719501123,
}

Также, при возникновении ошибок с использованием ГОСТ-криптографии на ноде, метод вернет описание ошибки:

GET /node/status:
{
    "error": 199,
    "message": "Environment check failed: Supported JCSP version is 5.0.40424, actual is 2.0.40424"
}

GET /node/version

https://img.shields.io/badge/auth-no-brightgreen.svg

Метод возвращает версию ноды.

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

GET /node/version:
{
  "version": "Waves Enterprise v1.12.3"
}

GET /node​/logging

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

Метод отображает список логгеров, указанных при конфигурировании ноды, и уровень логирования для каждого из них.

Полный список логгеров приведён в разделе Список логгеров; уровни логирования ноды перечислены и описаны в разделе Тонкая настройка платформы: настройка логирования.

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

GET /node​/logging:
ROOT-DEBUG
akka-DEBUG
akka.actor-DEBUG
akka.actor.ActorSystemImpl-DEBUG
akka.event-DEBUG
akka.event.slf4j-DEBUG
akka.event.slf4j.Slf4jLogger-DEBUG
com-DEBUG
com.github-DEBUG
com.github.dockerjava-DEBUG
com.github.dockerjava.core-DEBUG
com.github.dockerjava.core.command-DEBUG
com.github.dockerjava.core.command.AbstrDockerCmd-DEBUG
com.github.dockerjava.core.exec-DEBUG

GET /node/healthcheck

https://img.shields.io/badge/auth-no-brightgreen.svg

Метод производит проверку доступности внешнего сервиса, указанного в запросе. В запросе должен быть указан параметр service, который может принимать одно из следующих значений:

  • docker;

  • privacy-storage;

  • anchoring-auth.

По умолчанию используется значение docker.

Метод возвращает значение 200 ОК и пустой ответ, если проверка прошла успешно, иначе – 503 Service Unavailable и описание ошибки. Если один из внешних сервисов не настроен (на ноде отключена функциональность докер смарт контрактов, отключена настройка групп доступа к конфиденциальным данным, отключен анкоринг), метод возвращает ошибку 404 Not Found с сообщением о том, что определенная настройка отключена.

GET /node/healthcheck:
{
  "error": 199,
  "message": "Docker host is not available"
}

POST /node​/logging

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

Метод предназначен для смены уровня логирования для выбранных логгеров. Уровни логирования ноды перечислены и описаны в разделе Тонкая настройка платформы: настройка логирования; полный список логгеров приведён в разделе Список логгеров.

Пример запроса:

POST /node​/logging:
{
    "logger": "com.wavesplatform.Application",
    "level": "ALL"
}

POST /node/stop

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

Метод останавливает ноду, ответа не предусмотрено.

Важно

Метод POST /node/stop недоступен при использовании PKI, то есть когда в конфигурационном файле ноды параметру node.crypto.pki.mode присвоено значение ON. В тестовом режиме PKI (node.crypto.pki.mode = TEST) или при отключенном PKI (node.crypto.pki.mode = OFF) метод можно использовать.

Группа anchoring:

GET /anchoring/config

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

Метод выводит секцию anchoring конфигурационного файла ноды.

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

GET /anchoring/config:
{
 "enabled": true,
 "currentChainOwnerAddress": "3FWwx4o1177A4oeHAEW5EQ6Bkn4Lv48quYz",
 "targetnetnetNodeAddress": "https://clinton-pool.wavesenterpriseservices.com:443",
 "targetnetnetSchemeByte": "L",
 "targetnetnetRecipientAddress": "3JzVWCSV6v4ucSxtGSjZsvdiCT1FAzwpqrP",
 "targetnetnetFee": 8000000,
 "currentChainFee": 666666,
 "heightRange": 5,
 "heightAbove": 3,
 "threshold": 10
}
Смотрите также