Программа работает в фоновом режиме, и переключает FlightSheet на наиболее прибыльный алгоритм на NiceHash в текущий момент. По сути, это полный аналог клиента NiceHash для Windows.
В HiveOS “искаропки” подобное пока не реализовано.
На момент написания этого поста, в текущей реализации HiveOS, полностью автоматизировать процесс интеграции данного инструмента почти невозможно (или крайне сложно). Поэтому некоторые подготовительные операции необходимо будет проделать вручную.
А именно:
Нужно будет создать Flight Sheet для всех интересующих алгоритмов (это нужно сделать лишь один раз для всех ваших ригов).
Определить хешрейт каждого рига, по каждому алгоритму (в том случае, если вы еще не знаете, сколько хешей выдает ваш риг на разных алго). И прописать эти данные в конфиг автосвитчера (это нужно будет сделать на каждом риге с установленным Autoswitch).
++++++++++++++++++++
Upd: В целях облегчения настройки, дополнительно написана программа, работающая под управлением Windows.
Чтобы не создавать и не редактировать конфиги вручную, можно использовать ее.
В таком случае, достаточно только создать необходимые полетные листы. Остальное можно настроить через Autoswitch Manager.
Тем кому это удобнее, достаточно прочитать раздел про создание полетных листов. Дальнейшее (про настройку конфигов) можно не читать. Хотя и будет полезно для понимания
++++++++++++++++++++++++++++
В связи с возросшими накладными расходами, в состав приложения включен dev-fee в размере 2.5%
++++++++++++++++++++++++++++
Итак по порядку:
1. Установка Autoswitch:
В консоли рига нужно выполнить следующую команду:
curl https://raw.githubusercontent.com/lexandr0s/autoswitch/master/as-setup.sh | bash
После окончания работы установочного скрипта все необходимые компоненты будут скачаны на риг и разложены по своим местам.
2. Cоздание формализованных Flight Sheet (полетных листов)
Сначала нужно создать Flight Sheet для каждого алгоритма NiceHash, которые вы планируете майнить.
Опишу это немного подробнее, т.к. в текущей реализации Hive этот процесс не до конца очевиден, и у некоторых вызывает сложности.
На самом деле в Hive уже есть готовые пресеты для NiceHash, нужно лишь выбрать правильную монету.
При создании нового Полетного листа, в окошке выбора монеты, нужно начать набирать “nice”, и тогда мы увидим предустановленные монеты (алгоритмы) NiceHash.
Далее, нужно создать кошелек. Опять же, в текущей реализации HiveOS, нам придется создавать разные кошельки под каждую из монет (алгоритмов) NiceHash. Хотя сам адрес кошелька, конечно же везде будет одинаковый - адрес BTC кошелька NiceHash (или любого другого BTC-кошелька, в случае майнинга на внешний кошелек), на который вы будете майнить.
После этого все проще некуда. Выбираем пул nicehash
И нужный майнер.
В большинстве случаев больше ничего делать не требуется. Подобный Полетный Лист успешно будет майнить на NiceHash.
А теперь самое главное. Для того, чтобы autoswitch корректно работал, названия Flight Sheet должны соответствовать строгому шаблону.
Autoswitch Название_алгоритма
Соответствия названий Flight Sheet в HiveOS и алгоритмов NiceHash, приведены в нижеследующей табличке. Там же указаны единицы измерения хешрейта, в которых в дальнейшем мы будем вносить их в файл конфигурации.
Алгоритм NiceHash | Название Flight Sheet HiveOS | Единицы измерения|
--------------------------------------------------------------------------
Keccak Autoswitch Keccak MHs
Nist5 Autoswitch Nist5 MHs
NeoScrypt Autoswitch NeoScrypt MHs
Lyra2RE Autoswitch Lyra2RE MHs
Lyra2REv2 Autoswitch Lyra2RE2 MHs
DaggerHashimoto Autoswitch Ethash MHs
Skunk Autoswitch Skunk MHs
CryptoNightV7 Autoswitch CryptoNightV7 kHs
CryptoNightHeavy Autoswitch CryptoNightHeavy kHs
Lyra2Z Autoswitch Lyra2Z MHs
X16r Autoswitch X16r MHs
CryptoNightV8 Autoswitch CryptoNightV8 kHs
Созданию Полетных Листов (особенно их названиям) необходимо уделить особое внимание и аккуратность. Ошибка даже в одной букве названия (в том числе и Заглавная/строчная), не позволит такому Полетному листу участвовать в процессе работы программы. Чтобы избежать ошибок, лучше вставлять названия, копируя их из этой таблички %).
PS: Я не стал включать в эту табличку (и в конфигурационные файлы программы) алгоритмы, которые майнятся асиками. Чтобы не перегружать лишней информацией. Но при желании их вполне можно добавить в конфиг и они будут успешно работать.
На этом подготовка на сервере закончена. Переходим к конфигурированию autoswitch непосредственно на риге.
3. Конфигурация autoswitch
После завершения работы установочного скрипта, в стандартную директорию конфигов HiveOS был добавлен конфигурационный файл autoswitch.
Его вам необходимо изменить под индивидуальные условия на каждом из ваших ригов, где будет установлен autoswitch
Откройте этот файл в любом редакторе, например в nano
nano /hive-config/autoswitch.conf
В самом начале файле вы увидите две переменных. Которые вам необходимо изменить.
FARM_ID=1234
TOKEN="aqroupqw122345piu......"
FARM_ID должен содержать ID вашей Фермы.
ВАЖНО: Здесь должен быть указан именно ID Фермы, а не RIG_ID!
Я не нашел в веб-интерфейсе, где можно увидеть этот ID. Берем его из адресной строки браузера
В веб интерфейсе выбираем вашу FARM (Ферму).
Последние цифры в адресе, после слова “farms/” это и есть ID вашей Фермы.
Внесите это значение в конфиг. в переменную FARM_ID
Далее.
Т.к. управление FlightSheet осуществляется с рига посредством команд серверу HiveOS через API, необходимо сгенерировать токен авторизации по API. (это вполне безопасно и дальше вашего рига этот токен не уйдет).
Идем в настройки аккаунта.
И в разделе “Authentication Tokens” (Токены Аутентификации), нажмите кнопочку “Generate New Personal API-token” (Создать новый персональный API-токен).
Введите любое, понятное вам имя токена и нажмите “Add” (Добавить)
Будет сгенерирован персональный токен авторизации по API. Он то нам и нужен.
Напротив вновь созданного токена нажмите “Show” (Показать). Будет открыт длинный хеш. Его необходимо аккуратно выделить и скопировать (и возможно куда-то безопасно сохранить, для дальнейшего использования на других ригах,)
Вставляем скопированный токен в значение переменной TOKEN в конфиге autoswitch. Т.к токен может содержать любые символы - обрамляющие кавычки обязательны.
Далее.
Крайне важная переменная BENCHMARK. В ней содержаться Хешрейты вашего рига по различным алгоритмам. И именно на основе этих значений autoswitch делает свои вычисления и принимает решение о необходимости переключения полетного листа.
Единицы измерения для различных алгоритмов - смотрите в вышеприведенной табличке.
Хотя с этим все довольно просто. CriptoNight и его разновидности указываются в кHs. Все остальные алгоритмы в MHs
В дефолтном конфиге уже прописаны значения для рига из 6-ти 1063. Измените эти значения на свои.
Если вы еще не знаете, на что способен ваш риг, нужно поочередно дать поработать всем FlightSheet, которые вы ранее создали для NiceHash. Оптимальное время прогона - 5-10 минут. После чего запишите значение хешрейта выдаваемого ригом.
Исключение составляет алгоритм X16r. Ввиду его особенностей, узнать сколько реально может выдать ваш риг, можно только помайнив этим алгоритмом не менее 12 часов (а лучше сутки) и посмотрев среднее значение на странице статистики NiceHash.
Если вы не хотите майнить какой-то алгоритм, просто поставьте значение хешрейта равным 0. Autoswitch будет учитывать только те алгоритмы, значения хешрейтов для которых больше нуля.
ВАЖНО: Переменная BENCHMARK имеет формат JSON массива. Поэтому будьте предельно аккуратны и постарайтесь, при внесении реальных значений, не нарушить синтаксис.
Остальные переменные в конфиге можно не менять. По умолчанию там уже стоят оптимальные значения.
Вкратце опишу, что они делают.
MIN_DIFF - порог разницы профитности (в процентах) для переключения алгоритма. По умолчанию стоит 5. Как показывает практика - это оптимальное значение. Если выставить меньше - автосвитчер возможно будет очень часто переключать алгоритмы. На это тоже требуется драгоценное время. Да и на стабильность работы рига это может повлиять не лучшим образом.
Но вы, конечно, можете поставить любое значение. Крайне не рекомендую ставить значение меньше 1%. Этим вы почти гарантированно не дадите ригу стабильно работать.
PAUSE - пауза при переключениях полетных листов в секундах. Т.е. между отключением работающего майнера и запуском нового. У всех условия индивидуальны. И, это значение, можно как увеличивать, так и уменьшать, в зависимости от конфигурации и стабильности рига. Для стандартных ригов на 6-8 карт (не “солянок”) - 10 секунд оптимально. Для ригов с >10 карт возможно стоит увеличить паузу, но это можно выяснить только после того как станет ясно, насколько гладко или нет проходят автопереключения.
INTERVAL - интервал проверок расценок на NiceHash (сек). Меньше минуты ставить бессмысленно. Это будет только загружать ваш риг и интернет канал. Больше - сколько угодно. Раз в минуту, вполне оптимальное значение.
SEND_MSG - если поставить 1, autoswitch будет отправлять сообщения о проблемах в своей работе на веб-интферфейс (и в телеграмм, если настроен бот оповещений). При нестабильном интернете - таких сообщений может быть очень много. В такой ситуации, эту возможность лучше отключить (оставить 0). Уведомления о критических ошибках, которые приведут к невозможности продолжения работы программы, будут отправляться на сервер в любом случае, независимо от этой опции.
Все переменные, в том числе и бенчмарки, в файле конфигурации можно менять на лету. Не перезапуская autoswitch. Изменения будут учтены при следующей проверке профитности.
На этом процесс конфигурации закончен.
Пусть вас не пугает большой объем текста. На самом деле, на практике, весь процесс подготовки и конфигурирования, при заранее известных бенчмарках - занимает не более часа.
Переходим к финальной части. Непосредственно к запуску autoswitch
4. Первый запуск и работа с Autoswitch.
После того, как процесс конфигурирования и подготовки завершен, необходимо, чтобы Autoswitch получил все внесенные вами данные, проверил их корректность и сформировал свой внутренний конфиг.
Для этого запустите команду
autoswitch config
В консоли вы увидите результаты работы. Если в конфиге были допущены какие-то ошибки, autoswitch прекратит работу и сообщит об этом.
Если все в порядке - то сообщит о найденных Полетных листах.
В зависимости от количества созданных Полетных листов и указанных хешрейтов, вы должны увидеть, что-то подобное:
В конце вы видите два значения.
Сколько найдено FS (полетных листов) сконфигурированных под autoswitch на сервере. И сколько найдено ненулевых хешрейтов в конфиге.
Работать будут те алгоритмы, для которых найдено и то и другое.
Т.е. в случае, как на скриншоте, в автопереключении будут участвовать 10 алгоритмов.
Если сразу были созданы не все полетные листы, вы можете добавить их в дальнейшем.
После чего нужно будет опять выполнить ту же команду “autoswitch config” (это можно проделать в любой момент, не прерывая работу самой программы. конфиг будет изменен и применится “на лету”)
Если все прошло удачно. И вы увидели картинку подобную показанной выше - autoswitch готов к работе.
Можно его запускать.
Команды управления те же, что и для управления майнером.
autoswitch start
Данная команда запустит autoswitch в фоновом режиме и пропишет его в автозапуск. (после перезагрузки autoswitch запустится автоматически).
Для остановки и удаления из автозапуска, нужно выполнить команду
autoswitch stop
Autoswitch будет остановлен и удален из скриптов автозапуска.
Ну и чтобы понаблюдать за его работой, просто вызываем его без параметров.
autoswitch
В консоли вы увидите что-то подобное:
При переключении полетных листов, autoswitch фиксирует данный факт в своем логе
/var/log/autoswitch.log
+++++++
На этом наверное и все. Спасибо всем кто дочитал до конца.
Вопросы, пожелания и конструктивная критика приветствуются.
Удачного майнинга!