RustMinerSystem

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

Изменение конфигурации RustMinerSystem в CLI-режиме

Редактирование rust-config, port-config.json и wallet-config.json в CLI-режиме RustMinerSystem с применением через rustminer restart.

Изменение конфигурации RustMinerSystem в CLI-режиме

В CLI-режиме конфигурация меняется не через web-панель, а напрямую в терминале сервера. Отредактируйте конфигурационные файлы RustMinerSystem, сохраните их и выполните rustminer restart, чтобы применить изменения.

Каталог установки по умолчанию:

cd /root/rustminersystem

Если у вашей сборки индивидуальный каталог или используется debug-окружение, запустите install-скрипт и выберите пункт 21, чтобы посмотреть runtime status и пути файлов.

Рабочий порядок

Рекомендуемый порядок:

cd /root/rustminersystem

cp rust-config rust-config.bak.$(date +%Y%m%d%H%M%S)
cp port-config.json port-config.json.bak.$(date +%Y%m%d%H%M%S)
cp wallet-config.json wallet-config.json.bak.$(date +%Y%m%d%H%M%S)

nano rust-config
nano port-config.json
nano wallet-config.json

rustminer restart

Можно использовать vim, vi или другой terminal editor. После изменения JSON-файлов проверьте формат, если доступен jq:

jq . port-config.json >/dev/null
jq . wallet-config.json >/dev/null

Если jq не установлен, как минимум проверьте кавычки, запятые, квадратные и фигурные скобки JSON.

rust-config

rust-config — текстовый файл с одной настройкой на строку:

KEY=value

Обычные переключатели и порты записываются числами. Значения-массивы и значения-объекты записываются как однострочный JSON. Не разбивайте одно JSON-значение на несколько строк.

Частые настройки:

Настройка Описание
ENABLE_WEB_UI Включает web-панель. 1 — включено, 0 — выключено. CLI-режим требует отключенного web-доступа, поэтому установите 0.
ENABLE_WEB_TLS Протокол web-панели. 1 — HTTPS, 0 — HTTP. Важно только при включенном web-доступе.
START_PORT Порт web-панели. По возможности используйте диапазон 10000-65535.
RMS_PORT Порт доступа RMS. По возможности используйте диапазон 10000-65535.
POOLNODE_PORT Порт доступа PoolNode. По возможности используйте диапазон 10000-65535.
IP_BLACKLIST Черный список IP в формате JSON array.
WALLET_BLACKLIST Черный список wallet в формате JSON array.
WALLET_WHITELIST Белый список wallet в формате JSON array.
POOL_ENDPOINT Настройки custom pool и custom wallet в формате JSON object.
RMS Настройки RMS в формате JSON object.
WARNING_SETTING Настройки alert в формате JSON object.

Пример:

ENABLE_WEB_UI=0
ENABLE_WEB_TLS=0
START_PORT=46679
RMS_PORT=13293
POOLNODE_PORT=15354
IP_BLACKLIST=["203.0.113.10","198.51.100.20"]
WALLET_BLACKLIST=["wallet-name"]
WALLET_WHITELIST=[]

Порты также можно заменить через sed:

sed -i 's/^START_PORT=.*/START_PORT=46679/' rust-config
sed -i 's/^RMS_PORT=.*/RMS_PORT=13293/' rust-config
sed -i 's/^POOLNODE_PORT=.*/POOLNODE_PORT=15354/' rust-config

Не публикуйте и не показывайте на скриншотах реальные REMOTE_KEY, REMOTE_CODE, OB_TOKEN, SMTP secrets и похожие токены. Если вы меняете только порты, web-доступ или blacklists, обычно эти секретные поля трогать не нужно.

port-config.json

port-config.json хранит настройки портов как JSON array. Каждый объект представляет один порт подключения майнеров.

Формат ID порта

При ручном добавлении порта создавайте id в фиксированном формате:

5 случайных букв или цифр + . + 2 случайные цифры

Примеры:

6YMpg.06
A1b2C.34

В виде regular expression формат выглядит так: [A-Za-z0-9]{5}\.[0-9]{2}. Не используйте одинаковый id внутри одного файла port-config.json.

Частые поля:

Поле Описание
id ID порта. При редактировании существующего порта сохраняйте старое значение; при ручном добавлении используйте формат вроде 6YMpg.06 и следите за уникальностью.
port Локальный listen port, к которому подключаются майнеры.
name Имя порта. Может быть пустым.
currency Название монеты.
category Алгоритм или категория.
protocol Протокол доступа майнеров: 0 TCP, 1 TLS, 3 TTS, 5 RMS2, 6 RMS3, 8 RMS3(zstd), 9 TP.
limit_connections Лимит подключений для порта.
pool_address Основной адрес пула.
connect_mode Протокол подключения к основному пулу: 0 TCP, 1 TLS.
pool_address2 Резервный адрес пула. Может быть пустым.
connect_mode2 Протокол подключения к резервному пулу: 0 TCP, 1 TLS.
mode Режим порта: 0 efficient mode, 1 compatibility mode.

Пример:

[
    {
        "id": "6YMpg.06",
        "port": 47777,
        "name": "IRON proxy",
        "currency": "IRON",
        "category": "blake3s",
        "protocol": 1,
        "limit_connections": 65535,
        "pool_address": "hk.ironfish.example.com:1145",
        "pool_address2": "",
        "connect_mode": 0,
        "connect_mode2": 0,
        "mode": 0,
        "proxy_addr": null,
        "proxy_device": null,
        "pattern_addr": "",
        "replace_addr": "",
        "status": 2,
        "error": "",
        "nc": 1
    }
]

Пример изменения основного адреса пула для одного порта:

jq 'map(if .id == "6YMpg.06" then .pool_address = "hk.ironfish.example.com:1145" else . end)' port-config.json > port-config.json.tmp
mv port-config.json.tmp port-config.json
rustminer restart

wallet-config.json

wallet-config.json хранит настройки wallet как JSON array. Каждый объект представляет wallet или связанную с устройством настройку forwarding и ratio.

ID wallet и связь с портом

При ручном добавлении wallet-конфигурации поле id использует такой же random format:

5 случайных букв или цифр + . + 2 случайные цифры

Например: AFq3H.35. Не используйте одинаковый id внутри одного файла wallet-config.json.

server_id не является еще одним случайным значением. Он должен совпадать с id одного объекта порта в port-config.json. Например, если порт задан так:

{
    "id": "6YMpg.06",
    "port": 47777
}

То wallet, привязанный к этому порту, должен использовать:

{
    "id": "AFq3H.35",
    "server_id": "6YMpg.06"
}

Частые поля:

Поле Описание
id ID wallet-настройки. При редактировании существующей записи сохраняйте старое значение; при ручном добавлении используйте формат вроде AFq3H.35 и следите за уникальностью.
server_id Связанный ID порта. Он должен совпадать с id объекта порта в port-config.json; не используйте номер порта и не генерируйте это значение случайно.
addr Имя wallet или идентификатор wallet.
device Имя устройства.
pool_address Адрес пула для этого wallet.
pool_protocol Протокол подключения wallet к пулу: 0 TCP, 1 TLS.
ratio Fee ratio в десятичном виде. Например, 0.03 означает 3%.

Пример:

[
    {
        "id": "AFq3H.35",
        "server_id": "6YMpg.06",
        "addr": "wallet-main",
        "device": "MY20602",
        "pool_address": "kas.example.com:443",
        "pool_protocol": 0,
        "ratio": 0.03
    }
]

Пример изменения ratio одного wallet на 5%:

jq 'map(if .id == "AFq3H.35" then .ratio = 0.05 else . end)' wallet-config.json > wallet-config.json.tmp
mv wallet-config.json.tmp wallet-config.json
rustminer restart

Применение и откат

После сохранения изменений выполните restart:

rustminer restart

Если после изменения порты не подключаются или сервис работает некорректно, восстановите backup:

cp rust-config.bak.YYYYMMDDHHMMSS rust-config
cp port-config.json.bak.YYYYMMDDHHMMSS port-config.json
cp wallet-config.json.bak.YYYYMMDDHHMMSS wallet-config.json
rustminer restart

Замените YYYYMMDDHHMMSS на timestamp из реального имени backup-файла.