API продюсера COOPOS (1.0.0)

Download OpenAPI specification:

Спецификация Producer API узла COOPOS (nodeos). Включение плагина — в документации на https://coopenomics.world.

Версия протокола 4.0

Тег релиза бинарников COOPOS совпадает с версией протокола

Приостановить

Приостанавливает выпуск блоков узлом-продюсером. Без аргументов; тело ответа не задаётся.

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "result": "ok"
}

Возобновить

Возобновляет выпуск блоков узлом-продюсером. Без аргументов; тело ответа не задаётся.

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "result": "ok"
}

Статус паузы

Возвращает, приостановлен ли узел-продюсер. Без аргументов.

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "Invalid Request",
  • "error": {
    }
}

Параметры времени выполнения

Возвращает текущие параметры времени выполнения узла-продюсера.

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "max_transaction_time": 100,
  • "max_irreversible_block_age": -1,
  • "produce_time_offset_us": -100000,
  • "last_block_time_offset_us": -200000,
  • "max_scheduled_transaction_time_per_block_ms": 100,
  • "subjective_cpu_leeway_us": 10,
  • "incoming_defer_ratio": "1.00000000000000000",
  • "greylist_limit": 1000
}

Обновить параметры времени выполнения

Обновляет параметры времени выполнения узла-продюсера. Можно передать любое подмножество полей.

Authorizations:
None
Request Body schema: application/json
max_transaction_time
integer

Максимальное время выполнения транзакции

max_irreversible_block_age
integer

Максимальный «возраст» необратимого блока

produce_time_offset_us
integer

Смещение времени производства (мкс)

last_block_time_offset_us
integer

Смещение времени последнего блока (мкс)

max_scheduled_transaction_time_per_block_ms
integer

Максимальное время отложенных транзакций на блок (мс)

subjective_cpu_leeway_us
integer

Допуск субъективного CPU (мкс)

incoming_defer_ratio
string

Доля входящих отложенных транзакций (строка, парсится в double)

greylist_limit
integer

Лимит числа имён (Name) в сером списке

Responses

Request samples

Content type
application/json
{
  • "max_transaction_time": 100,
  • "max_irreversible_block_age": -1,
  • "produce_time_offset_us": -100000,
  • "last_block_time_offset_us": -200000,
  • "max_scheduled_transaction_time_per_block_ms": 100,
  • "subjective_cpu_leeway_us": 10,
  • "incoming_defer_ratio": "1.00000000000000000",
  • "greylist_limit": 1000
}

Response samples

Content type
application/json
{
  • "result": "ok"
}

Список серой зоны

Возвращает серый список (greylist) узла-продюсера.

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "accounts": [
    ]
}

Добавить в серый список

Добавляет учётные записи в серый список узла-продюсера. Нужна хотя бы одна запись.

Authorizations:
None
Request Body schema: application/json
Array of Привилегированное имя (string) or Базовое имя (string) or Имя из аукциона (string) or Прочее имя (string) (Имя учётной записи)

Имена учётных записей для добавления

Responses

Request samples

Content type
application/json
{
  • "accounts": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "ok"
}

Убрать из серого списка

Удаляет учётные записи из серого списка узла-продюсера. Нужна хотя бы одна запись.

Authorizations:
None
Request Body schema: application/json
Array of Привилегированное имя (string) or Базовое имя (string) or Имя из аукциона (string) or Прочее имя (string) (Имя учётной записи)

Имена учётных записей для удаления

Responses

Request samples

Content type
application/json
{
  • "accounts": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "ok"
}

Белые и чёрные списки

Возвращает белые и чёрные списки узла-продюсера в виде JSON-объекта.

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "actor_whitelist": [
    ],
  • "actor_blacklist": [
    ],
  • "contract_whitelist": [
    ],
  • "contract_blacklist": [
    ],
  • "action_blacklist": [
    ],
  • "key_blacklist": [
    ]
}

Задать белые и чёрные списки

Задаёт белые и чёрные списки узла-продюсера. Тело запроса — JSON с полями списков.

Authorizations:
None
Request Body schema: application/json
Array of Привилегированное имя (string) or Базовое имя (string) or Имя из аукциона (string) or Прочее имя (string) (Имя учётной записи)
Array of Привилегированное имя (string) or Базовое имя (string) or Имя из аукциона (string) or Прочее имя (string) (Имя учётной записи)
Array of Привилегированное имя (string) or Базовое имя (string) or Имя из аукциона (string) or Прочее имя (string) (Имя учётной записи)
Array of Привилегированное имя (string) or Базовое имя (string) or Имя из аукциона (string) or Прочее имя (string) (Имя учётной записи)
Array of (Имя учётной записи (Привилегированное имя (string) or Базовое имя (string) or Имя из аукциона (string) or Прочее имя (string))) or Сигнатура действия (C++) (string)[ items ]
key_blacklist
Array of strings (Тип/значение ключа)

Responses

Request samples

Content type
application/json
{
  • "actor_whitelist": [
    ],
  • "actor_blacklist": [
    ],
  • "contract_whitelist": [
    ],
  • "contract_blacklist": [
    ],
  • "action_blacklist": [
    ],
  • "key_blacklist": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "ok"
}

Создать снимок

Создаёт снимок состояния узла-продюсера. При ошибке возвращает ответ с ошибкой.

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "head_block_id": "string",
  • "head_block_num": 5102,
  • "head_block_time": "2020-11-16T00:00:00.000",
  • "version": 6,
  • "snapshot_name": "/home/me/nodes/node-name/snapshots/snapshot-0000999f99999f9f999f99f99ff9999f999f9fff99ff99ffff9f9f9fff9f9999.bin"
}

Запланировать снимки

Запрашивает периодическое создание снимков по заданным параметрам. Пустое тело — немедленное создание снимка. При невозможности принять расписание — ошибка.

Authorizations:
None
Request Body schema: application/json
block_spacing
integer

Создавать снимок каждые block_spacing блоков

start_block_num
integer

Номер блока начала расписания

end_block_num
integer

Номер блока окончания расписания

snapshot_description
string

Описание снимка / задания

Responses

Request samples

Content type
application/json
{
  • "block_spacing": 0,
  • "start_block_num": 5102,
  • "end_block_num": 15102,
  • "snapshot_description": "Daily snapshot"
}

Response samples

Content type
application/json
{
  • "snapshot_request_id": 0,
  • "block_spacing": 0,
  • "start_block_num": 5102,
  • "end_block_num": 15102,
  • "snapshot_description": "Daily snapshot"
}

Список запланированных снимков

Возвращает список запросов на периодические снимки.

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "snapshot_requests": [
    ]
}

Отменить расписание снимков

Удаляет запрос на снимки по идентификатору. Ошибка, если такого запроса нет.

Authorizations:
None
Request Body schema: application/json
required
snapshot_request_id
integer

Идентификатор запроса на снимки

Responses

Request samples

Content type
application/json
{
  • "snapshot_request_id": 0
}

Response samples

Content type
application/json
{
  • "snapshot_request_id": 0,
  • "block_spacing": 0,
  • "start_block_num": 5102,
  • "end_block_num": 15102,
  • "snapshot_description": "Daily snapshot"
}

Хеш целостности

Возвращает хеш целостности состояния узла-продюсера.

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "head_block_id": "string",
  • "integrity_hash": "string"
}

Запланировать активацию протокольных возможностей

Планирует активацию протокольных возможностей на узле-продюсере. Часть возможностей требует предварительной активации. Дубликаты и нарушение порядка предварительной активации дают ошибку.

Authorizations:
None
Request Body schema: application/json
protocol_features_to_activate
Array of strings (Хеш SHA-256) [ items^[0-9A-Fa-f]{64}$ ]

Список протокольных возможностей для активации

Responses

Request samples

Content type
application/json
{
  • "protocol_features_to_activate": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "ok"
}

Поддерживаемые протокольные возможности

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

Authorizations:
None
Request Body schema: application/json
exclude_disabled
boolean
Default: false

Исключить отключённые возможности

exclude_unactivatable
boolean
Default: false

Исключить возможности, которые нельзя активировать

Responses

Request samples

Content type
application/json
{
  • "exclude_disabled": false,
  • "exclude_unactivatable": false
}

Response samples

Content type
application/json
[
  • {
    }
]

Корректировки RAM по аккаунтам

Возвращает учётные записи с корректировками RAM.

Authorizations:
None
Request Body schema: application/json
lower_bound
integer

Нижняя граница ключа аккаунта

upper_bound
integer

Верхняя граница ключа аккаунта

limit
integer
Default: 10

Число строк для обхода

reverse
boolean
Default: false

Направление обхода

Responses

Request samples

Content type
application/json
{
  • "lower_bound": 0,
  • "upper_bound": 0,
  • "limit": 10,
  • "reverse": false
}

Response samples

Content type
application/json
{
  • "rows": [
    ],
  • "more": [
    ]
}

Неприменённые транзакции

Возвращает транзакции, ожидающие применения (неприменённые).

Authorizations:
None
Request Body schema: application/json
limit
integer
Default: 100

Максимальное число транзакций в ответе

lower_bound
string (Хеш SHA-256) ^[0-9A-Fa-f]{64}$

64-символьная шестнадцатеричная строка (хеш SHA-256).

time_limit_ms
integer
Default: "http-max-response-time-ms"

Лимит времени ответа (мс); по умолчанию как у http-max-response-time-ms узла

Responses

Request samples

Content type
application/json
{
  • "limit": 100,
  • "lower_bound": "string",
  • "time_limit_ms": 10
}

Response samples

Content type
application/json
{
  • "size": 12428,
  • "incoming_size": 4475,
  • "trxs": [
    ],
  • "more": "string"
}