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

REST API: работа с узлами блокчейна

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

Для работы с узлами блокчейна предусмотрена группа методов peers:

POST /peers/connect

Метод предназначен для подключения новой ноды участника к вашей ноде.

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

POST /peers/connect:
{
    "host":"127.0.0.1",
    "port":"9084"
}

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

POST /peers/connect:
{
  "hostname": "localhost",
  "status": "Trying to connect"
}

GET /peers/connected

Метод возвращает список подключенных нод.

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

GET /peers/connected:
{
  "peers": [
    {
      "address": "52.51.92.182/52.51.92.182:6863",
      "declaredAddress": "N/A",
      "peerName": "zx 182",
      "peerNonce": 183759
    },
    {
      "address": "ec2-52-28-66-217.eu-central-1.compute.amazonaws.com/52.28.66.217:6863",
      "declaredAddress": "N/A",
      "peerName": "zx 217",
      "peerNonce": 1021800
    }
  ]
}

GET /peers/all

Метод возвращает список всех известных нод.

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

GET /peers/all:
{
  "peers": [
    {
      "address": "/13.80.103.153:6864",
      "lastSeen": 1544704874714
    }
  ]
}

GET /peers/suspended

Метод возвращает список приостановленных нод.

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

GET /peers/suspended:
[
  {
    "hostname": "/13.80.103.153",
    "timestamp": 1544704754619
  }
]

POST /peers/identity

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

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

  • address - блокчейн-адрес, который соответствует параметру privacy.owner-address в конфигурационном файле ноды;

  • signature - электронная подпись от значения поля address.

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

POST /peers/identity:
{
  "address": "3NBVqYXrapgJP9atQccdBPAgJPwHDKkh6A8",
  "signature": "6RwMUQcwrxtKDgM4ANes9Amu5EJgyfF9Bo6nTpXyD89ZKMAcpCM97igbWf2MmLXLdqNxdsUc68fd5TyRBEB6nqf"
}

Ответ метода содержит параметр publicKey- публичный ключ ноды, связанный с параметром privacy.owner-address в его конфигурационном файле. Если выключен режим проверки handshakes, то параметр publicKey не отображается.

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

POST /peers/identity:
{
  "publicKey": "3NBVqYXrapgJP9atQccdBPAgJPwHDKkh6A8"
}

GET /peers/hostname/{address}

Метод получает блокчейн адрес (owner-address) и, если среди пиров такой адрес есть, то возвращает соответствующее ему имя хоста (hostname) и IP-адрес ноды.

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

GET /peers/hostname/{address}:
{
  "hostname": "node1.we.io",
  "ip": "10.0.0.1"
}

GET /peers/allowedNodes

Получение актуального списка разрешенных участников сети на момент запроса.

GET /peers/allowedNodes:
{
  "allowedNodes": [
    {
      "address": "3JNLQYuHYSHZiHr5KjJ89wwFJpDMdrAEJpj",
      "publicKey": "Gt3o1ghh2M2TS65UrHZCTJ82LLcMcBrxuaJyrgsLk5VY"
    },
    {
      "address": "3JLp8wt7rEUdn4Cca5Hp9jZ7w8T5XDAKicd",
      "publicKey": "J3ffCciVu3sustgb5vxmEHczACMR89Vty5ZBLbPn9xyg"
    },
    {
      "address": "3JRY1cp7atRMBd8QQoswRpH7DLawM5Pnk3L",
      "publicKey": "5vn4UcB9En1XgY6w2N6e9W7bqFshG4SL2RLFqEWEbWxG"
    }
  ],
  "timestamp": 1558697649489
}
Смотрите также