Перейти к публикации

Neotex's Blog

  • записи
    2
  • комментария
    22
  • просмотра
    9 823

Записи в этом блоге

 

Поднимаем локальный прокси на java для оборудования sha256 и scrypt.

Пожалуй, напишу мини-faq как поднять локальный прокси на java. Зачем это может быть нужно? Известно, что оборудование Bitmain отличается глючностью, часто зависает при падении пулов и переходе по пулам туда-сюда. Так же, прошивки Bitmain не поддерживают технологию extranonse subscribition, что снижает целесообразность сдачи оборудования Bitmain в аренду на Nicehash до нуля. Кастомную прошивку для s5 c поддержкой вышеупомянутой технологии выкладывал Смит, но у нее есть критический недостаток — она основана на старых прошивках битмайн, в которых еще не был исправлен баг перегрева при отключении инета, что привело к сгоранию множества antminer s5. Итак , что нам понадобится: компьютер, ноутбук или малинка в той же подсети что и асики. скачиваем stratum-прокси с официальной страницы загрузки и распаковываем его на ПК, предназначенный для stratum-прокси:
Внимание: качаем только стабильный релиз 0.8.0 , снапшот 0.8.1 на момент написания статьи глючен.   https://github.com/Stratehm/stratum-proxy/releases установите Java Runtime Environment (JRE) для вашей операционной системы (если у вас еще нет); последняя версия может быть скачана здесь Вот прямая ссылка для Windows x64:
http://download.oracle.com/otn-pub/java/jdk/8u74-b02/jre-8u74-windows-x64.exe   В папку куда вы распаковали прокси добавляем файл конфигурации, разберем его для примера, у меня он называется nicehash0.conf для 1-го майнера, nicehash1.conf для второго итд. Несмотря на название nicehash в конфиге будут прописаны сразу все пулы. Можно сделать один прокси для всего оборудования но в этом случае пулы будут давать задания со сложностью соответствующей суммарной мощности майнеров, т. е. сложность будет очень большая, и не видно будет индивидуальную статистику по майнерам. Итак, в nicehash0.conf записываем:   { "isScrypt" : false, "disableStratum" : false, "disableGetwork": true,   // Прокси будет слушать этот порт:   "stratumListenPort" : 3333,   // Статистику будем смотреть на этом порте:   "apiListenPort" : 8888,   "databaseDirectory": "database0", "pools" : [   // Настройки для Nicehash/Westhash.   // Обратите внимание на строку пароля p=0.003691 —   // найсхеш станет активным если прибыльность на 1 Th   // превысит это значение   // Если прибыльность на найсе меньше указанного   // значения, он будет выглядеть “dead” и прокси будет   // пробовать следующий пул. Я обычно ставлю   // это значение на 10-20% выше калькулятора, т. к.   // меньше из-за глюков найса имхо не окупается.   // Параметр d=4096 - рекомендуемая сложность, можно   // не указывать, т.к. Найс все равно ставит как хочет.   // В поле “user” пишем также в кавычках, т. е. вместо слова КОШЕЛЬ —   // кошелёк, потом сразу точка, потом сразу без пробела   // после точки имя воркера, (например 1) { "name" : "Nicehash sha256", "host" : "sha256.eu.nicehash.com:3334", "user" : "КОШЕЛЬ.ВОРКЕР", "password" : "p=0.003691;d=4096", "enableExtranonceSubscribe" : true }, // Вестхеш резервный адрес найсхеша, настраиваем также. { "name" : "Westhash sha256", "host" : "sha256.usa.nicehash.com:3334", "user" : "КОШЕЛЬ.ВОРКЕР", "password" : "p=0.003691;d=4096", "enableExtranonceSubscribe" : true }, // Настройки для Кано. Ставим свои имя и воркер. { "name" : "Kano.is", "host" : "stratum.kano.is:3333", "user" : "ИМЯ.ВОРКЕР", "password" : "x", "enableExtranonceSubscribe" : false }, // Настройки для Битминтера. Аналогично, но воркер // от имени отделен подчеркиванием а не точкой. { "name" : "Bitminter", "host" : "mint.bitminter.com:3333", "user" : "ИМЯ_ВОРКЕР", "password" : "x", "enableExtranonceSubscribe" : false }, // Для Элигиуса, воркер отделен подчеркиванием кошель ставьте свой: { "name" : "Eligius", "host" : "stratum.mining.eligius.st:3334", "user" : "КОШЕЛЬ_ВОРКЕР", "password" : "x", "enableExtranonceSubscribe" : false } ] }   Если вам не нужны какие-либо пулы выкидываем их, нужные добавляем в том же формате.   Изменения для каждого следующего майнера: nicehash1.conf — Файл конфига для следующего майнера.   В нем меняем только: "stratumListenPort" : 3333 - пишем следующий порт — 3334
"apiListenPort" : 8888 — тоже пишем следующий порт статистики 8889
"databaseDirectory": "database0" — новая папка базы данных статистики database1
Меняем воркеры на следующие.
Все остальное не меняется!   Создаем .bat файлы запуска прокси, для каждого майнера свой файл:   файл proxy0.cmd , в него записываем: java -jar stratum-proxy.jar -f nicehash0.conf   файл proxy1.cmd : java -jar stratum-proxy.jar -f nicehash1.conf   … и так далее для каждого майнера, файлы тоже кладем в папку прокси, для них можно на рабочем столе сделать ярлыки и добавить (именно ярлыки а не сами файлы) в папку автозагрузки.   И последнее, что осталось сделать, в майнерах в 1-м поле прописать:   Для 1-го мйнера:   URL stratum+tcp://192.168.0.100:3333 (ставим IP адрес компа на котором прокси) Worker x Password x Воркер и пароль берутся из конфига прокси и могут быть любыми, все равно встанут те что прописаны в прокси.
Второе и третье поле в майнере заполняем резервными пулами, на случай отвала прокси майнеры перейдут на резерв.   Для 2-го майнера:   stratum+tcp://192.168.0.100:3334 и так далее для каждого следующего.   Если у вас серверная винда не забудьте открыть порты 3333, 3334 итд по TCP в файрволле.   Запускаем прокси батниками и майнеры с новыми настройками.   Статистику можно смотреть здесь (на компе где запущены прокси):   http://127.0.0.1:8888/ - для 1-го майнера, http://127.0.0.1:8889/ - для 2-го итд.   Для скрипта поднимаем аналогично, см. файл примера конфига в папке прокси.

Neotex

Neotex

 

Скрипт автоматического изменения частоты Antminer s5 в зависимости от температуры асика.

Зачем это может быть нужно? Например, когда летом днем жарко, а ночью холодно, и асик приходится днем замедлять чтобы он не перегревался, а ночью можно и помощнее включить. В ручную это делать надоедает, а постоянно поставить на минимум - терять в профите. Заинтересовался я этой темой после прочтения вот этого поста: https://forum.bits.media/index.php?/topic/16676-luchshaia-v-mire-programma-dlia-antminer-s5/ Там есть ссылка на первоначальный вариант скрипта: https://jomcflyatwork.wordpress.com/2015/07/13/shell-script-for-antminer-s5-temperature-regulation/ У меня скрипт в первоначальном варианте не заработал. Возможно из-за того, что я пробовал запускать его на более новой прошивке, чем автор. Так же скрипт имел недостаток: он не имел ограничения по повышению частоты асика, и мог довести частоты до отвала плат. В моем варианте можно указать максимальную частоту асика, больше которой скрипт её поднимать не будет. Я протестировал скрипт на последней на данный момент официальной прошивке от bitmaintech, от 15.07.2015, у меня все работает. Скрипт предназначен _только_ для Antminer s5. Ну и разумеется, вы применяете его только на свой страх и риск. Нам понадобится: putty , winscp и собственно файл скрипта и файл списка частот: Regul-master.zip   Вначале открываем regul.sh на редактирование - я редактировал в FAR-e нажав F4 ( в блокноте windows криво открывается). устанавливаем параметры:   TMIN=77 #При охлаждении наиболее горячего лезвия ниже этой температуры частота будет повышаться. TMAX=80 #При превышении наиболее горячим лезвием этой температуры частота будет снижаться. freqmax=381.25 #Лимит максимальной частоты - даже если майнер холодный скрипт не будет поднимать частоту выше этой. REFRESH_TIMER=1080 #Периодичность проверки и изменения температуры в секундах. FREQ_STEP=2 #Каждый 1 шаг изменения частоты 6.25MHz, таким образом при FREQ_STEP=2 6.25*2=12.5MHz - настолько будет меняться частота в каждом цикле скрипта.   Параметры у меня подобраны для "тихого" варианта работы s5 с оборотами кулера около 3000 об/мин. Если вы не замедляете кулер для снижения шума возможно вам больше подойдут параметры автора начального варианта скрипта, в любом случае эти параметры требуют вдумчивого подбора именно для вашего конкретного случая.   1. Установка. Копируем файлы на майнер с помощью Winscp: – Выбираем « SCP » протокол передачи файлов – Нам потребуется указать IP и логин/пароль: root / admin – Копируем regul.sh и freqList в /etc/init.d/   2. Коннектимся к майнеру с помощью putty порт 22, логин/пароль root / admin Запускаем скрипт в консоли putty: sh /etc/init.d/regul.sh При таком варианте запуска скрипт работает только когда открыто окно putty, все сообщения выдаются в окно, можно если что-то работает не так остановить его нажав Ctrl-c подкорректировать параметры скрипта. Если все работает нормально запускаем скрипт так: nohup sh /etc/init.d/regul.sh& После такого варианта запуска можно нажать <Enter>, закрыть сессию putty набрав exit или закрыв окно putty, скрипт продолжит свою работу до перезагрузки майнера или выключения питания. Изменения частоты вручную через веб морду, переход на другой пул и др. изменения не повлияют на работу скрипта. Если понадобится выключить скрипт без перезагрузки: Заходим через putty, набираем: ps Ищем номер процесса скрипта (PID) и: kill PID И еще: если у вас много майнеров, и на каждом вы установили скрипт запускайте скрипты не одновременно, т. к майнеры могут войти в некий резонанс - перегреются и скинут частоту одновременно, а потом одновременно повысят итд. Запускайте скрипт на каждом очередном майнере с временным лагом чтобы такого не произошло. В принципе, на основе этого скрипта можно много чего сделать, например менять не частоту, а обороты кулера в зависимости от температуры, рестартовать cgminer при отвале платы итд.

Neotex

Neotex

×