RustMinerSystem

Документация

API проекта и сайта PoolNode

Активация проекта, порты, endpoints, сайт, TLS, сертификаты, шаблоны и app configuration встроенного PoolNode.

API проекта и сайта PoolNode

Эти /api/poolnode/* endpoints вызываются административной панелью RustMinerSystem. Они отличаются от пользовательского API PoolNode /api/user/* и предназначены для владельца node.

PoolNode часто возвращает { status, error, data }. Frontend извлекает data и считает status: 4 признаком неактивированного проекта.

Заявка и активация проекта

Метод Путь Body/назначение
GET /api/poolnode/project/info Статус, имя и fee configuration проекта.
POST /api/poolnode/project/apply Заявка { name, token }.
POST /api/poolnode/project/active Активация { code, token, captcha_token }.
POST /api/poolnode/project/unactive Деактивировать текущий проект.

Деактивация очищает состояние проекта, fees и ports в frontend. Сначала сохраните settlement и website data.

Порты и endpoints node

Метод Путь Назначение
GET /api/poolnode/ports Получить порты PoolNode.
POST /api/poolnode/port/new Создать порт на node servers.
POST /api/poolnode/extra/{port} Изменить public mode и unified wallet listen port.
DELETE /api/port/{id} Удалить node port через общий endpoint.
GET /api/poolnode/endpoints Регионы/upstream endpoints.
GET /api/poolnode/ping/{id} Измерить latency endpoint.
GET /api/poolnode/project/stats?k={coin} Статистика одной node currency.
GET /api/poolnode/sync/info Sync success, failure и details.

Для некоторых монет к ping добавляется ?k=KAS. Пример создания:

{
  "port": 3333,
  "name": "Pool Port",
  "currency": "PI-BTC",
  "pool_address": "<JSON string с endpoint ID>",
  "mode": 1,
  "protocol": 0,
  "category": "poolnode",
  "proxy_addr": ""
}

Extra settings:

{
  "mode": 1,
  "proxy_addr": "<wallet или subaccount для public mode>"
}

Настройки сайта

Метод Путь Запрос/назначение
GET /api/poolnode/index/port Получить web port.
POST /api/poolnode/index/port Изменить через { "r": 8080 }.
GET /api/poolnode/route Получить safe route сайта.
POST /api/poolnode/route Изменить через { "k": "route" }.
GET /api/poolnode/enable/index Состояние public access.
POST /api/poolnode/enable/index/{flag} Переключить public access; backend flag инвертирован относительно UI boolean.
GET /api/poolnode/index/tls Состояние TLS.
POST /api/poolnode/index/tls/{flag} Настроить TLS.

Изменение порта, route и TLS может перезапустить service. Подготовьте новый URL заранее.

Сертификат сайта

Метод Путь Назначение
GET /api/poolnode/cert Получить тип текущего сертификата.
POST /api/poolnode/cert/upload Загрузить PEM и private key сайта.
POST /api/poolnode/cert/reset Восстановить встроенный сертификат.

Body имеет вид { pem, key }; оба значения — Base64 от UTF-8 текста.

Branding и templates

Метод Путь Назначение
GET /api/poolnode/webconfig Получить name, logo, notice и branding.
POST /api/poolnode/webconfig Сохранить website configuration.
GET /api/poolnode/pool/asset/selected Текущий template.
GET /api/poolnode/pool/assets Все доступные templates.
GET /api/poolnode/pool/asset/status Статус загрузки template.
POST /api/poolnode/pool/asset Выбрать template.
POST /api/poolnode/pool/asset/reset Восстановить стандартный template.

Website configuration передается как Base64 JSON:

{
  "k": "<Base64(JSON.stringify(config))>"
}

Выбор template:

{
  "asset_id": 1,
  "item_id": 2
}

App communication

Метод Путь Назначение
GET /api/poolnode/project/url Получить app API URL, name и invitation code.
POST /api/poolnode/project/url Сохранить app communication URL.
{
  "api_url": "https://pool.example.com/safe-route",
  "refresh": 0
}