Перейти к содержанию

HRMonitor автоматическое переключение майнеров при понижении hashrate или при повышении прибыльности, инструмент для сбора статистики по монетам или алгоритмам и просто органайзер батников


Serzh Black

Рекомендуемые сообщения

[?] подскажет

за исключением назначенных плагинам самостоятельно через $VARS{Cx} или жестко внутри плагинов прописанных, например estimate_avg.txt 'садится' на [A], что, впрочем, можно внутри плагина изменить

Ссылка на комментарий
Поделиться на другие сайты

в reset_nvidia.txt сделал вывод температуры\загрузки и пытаюсь сделать ребут фермы когда nvidia-smi.exe выполняется бесконечно и не может вернуть членораздельные данные. вобщем настраиваю свою ферму так чтоб даже с энеми работал :-) позже выложу то что получится

и совсем забыл сказать. что усредненный профит по формуле P_avg = ((P_avg)*(N-1)+P)/N; использовать можно не не нужно. потому что он будет усреднять до усрачки, пока HRM запущен, а у меня он на праздники без экспериментов работает неделями. а нам надо средний профит за сутки посчитать. так что пусть хранит последние 1440 значений. будет правдоподобнее, как мне кажется

image.thumb.png.097a52b38e45a1c6ceb93c8dd4215a48.png

 

image.thumb.png.7cc1c6d2fbb2aa5a071d7249afd52310.png

Изменено пользователем Serzh Black
Ссылка на комментарий
Поделиться на другие сайты

12 часа назад, Serzh Black сказал:

и совсем забыл сказать. что усредненный профит по формуле P_avg = ((P_avg)*(N-1)+P)/N; использовать можно не не нужно. потому что он будет усреднять до усрачки, пока HRM запущен, а у меня он на праздники без экспериментов работает неделями. а нам надо средний профит за сутки посчитать. так что пусть хранит последние 1440 значений. будет правдоподобнее, как мне кажется

Согласен. Я знал об этом, но забыл упомянуть. У себя тоже 1440 поставил (по 1 минуте) с памятью вроде норм все, тоже неделями крутиться. И хотел бы таблично за час/2/3/6/12/24 сделать (и убрать рубли/блоки, и возможно вывести биржевой курс)

Ссылка на комментарий
Поделиться на другие сайты

@rezed биржевой курс прямо в окошке показывает coins_blocks.txt

рубли не буду убирать - у меня магазины под боком все рублевые :) блоки-монетки тоже - это святое для меня )))

если только скопипастить плагин как отдельный и немного подкрутить.

Ссылка на комментарий
Поделиться на другие сайты

доработал reset_nvidia.txt плагин. если опрос карт не дает результата, то без лишних слов ребутит систему. пока обкатываю и жду не дождусь когда же все зависнет-отвалится ?

 

помимо улучшенного своего непосредственного функционала, теперь он показывает инфу по всем GPU: загрузку, температуру, потребляемую мощность и общее количество не успешных резетов

 

 

Изменено пользователем Serzh Black
Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, Serzh Black сказал:

@rezed биржевой курс прямо в окошке показывает coins_blocks.txt

рубли не буду убирать - у меня магазины под боком все рублевые ? блоки-монетки тоже - это святое для меня )))

если только скопипастить плагин как отдельный и немного подкрутить.

Я про среднесуточный плагин, там то можно и без рублей наверное, в других местах хватает ) Чтобы было место вместить инфу за час/2/3/6/12/24.

И еще для mBTC значимыми являются 5 знаков после запятой, можно еще чуть урезать, чтобы все влезло.

Изменено пользователем rezed
Ссылка на комментарий
Поделиться на другие сайты

Слегка причесал и зарелизил сервер.

Устал зумить и скролить вправо-влево со смартфона. Теперь стало стало гораздо адаптивнее.

 

ЗЫ: тем кто за натом с серым IP: https://ngrok.com/product

Я немного потестил - бесплатный вариант отлично работает с HRMServer

start ngrok tcp 8080 --region=eu

 

HRMServer

HRMServer

HRMonitor + HRMServer

HRMonitor + HRMServer

HRMonitor

HRMServer + HRMonitor

Изменено пользователем Serzh Black
Ссылка на комментарий
Поделиться на другие сайты

Вот как выглядит вылет карты (или драйвера - я не совсем в курсе, nvidia-smi.exe не может вернуть результат) в логах HRM

Ребут без лишних вопросов и через минуту снова в строю!

image.thumb.png.a411943d3e3c02ac75de569da8971d99.png

Ссылка на комментарий
Поделиться на другие сайты

Плагин reset_nvidia.txt стал еще более интеллектуальным и стрессоустойчивым

 

Научился накапливать ошибки, диагностировать новые и не рвется в бой в случае обнаружения проблем. сначала пытается "разрулить" ситуацию и производит перезагрузку фермы только в крайних, необходимых случаях. в случае вмешательства в процесс работы фермы научился попискивать, для привлечения внимания: три раза - сброс карт, 5 раз - перезагрузка фермы, два раза - нормальная работа восстановлена

 

Вот так выглядит лог файл с результатами работы плагина. сначала все было хорошо. затем запуск nvidia-smi был произведен несколько раз с увеличением задержки на получение результатов (новая особенность плагина) и ни один из запусков не вернул результата. плагин сделал сброс GPU и при следующих диагностиках находил одну карту вместо двух. После нескольких неудачных попыток восстановить нормальную работу карт сделал перезагрузку фермы и восстановил ее нормальную работу.

 

далее было обнаружено, что для одной из карт значение memory usage стало [Unknown Error]. не смотря на то, что карт в системе две, майнер видел только одну карту. после первого резета работа всех карт была восстановлена без перезагрузки

 

В случае обнаружения новых способов диагностики других проблем NVIDIA плагин будет дорабатываться.

 

[10/05/18 01:13:11]
 - Checking NVIDIA GPUs (0 resets/fails)
 - GPU0:100%54C77W GPU1:100%57C79W
 ETC     >       0.211785959 < 0.280416592         82.5255%    1h2m58s|0  (0/1)  0.002310000 BTC
 ETH     #       0.280416592 = 0.280416592        100.0000%         0s|0  (0/1)  0.080924000 BTC
[10/05/18 01:14:11]
 ETC     >       0.211716336 < 0.280279736         82.5375%    1h3m49s|0  (0/1)    0.092c  0.0236b
 ETH     #       0.280279736 = 0.280279736        100.0000%         0s|0  (0/1)    0.003c  0.0012b
[10/05/18 01:15:11]
 ETC     >       0.211577404 < 0.280965283         82.3038%    1h4m55s|0  (0/1)  0.002310000 BTC
 ETH     #       0.280965283 = 0.280965283        100.0000%         0s|0  (0/1)  0.080924000 BTC
[10/05/18 01:16:11]
 ETC     >       0.211037293 < 0.281472521         81.9762%    1h5m56s|0  (0/1)    0.091c  0.0235b
 ETH     #       0.281472521 = 0.281472521        100.0000%         0s|0  (0/1)    0.003c  0.0012b
[10/05/18 01:17:11]
 ETC     >       0.210883147 < 0.281335148         81.9580%    1h6m50s|0  (0/1)  0.002312000 BTC
 ETH     #       0.281335148 = 0.281335148        100.0000%         0s|0  (0/1)  0.081070000 BTC
[10/05/18 01:18:11]
 - Checking NVIDIA GPUs (0 resets/fails)
 *** The number of GPUs (0) is changed or nvidia-smi failed. Reset required!
 - kill miners, wait 5 seconds
 ETC     >       0.210763778 < 0.281198172         81.9520%    1h8m33s|0  (0/1)    0.091c  0.0235b
 ETH     #       0.281198172 = 0.281198172        100.0000%         0s|0  (0/1)    0.003c  0.0012b
[10/05/18 01:19:11]
 - Checking NVIDIA GPUs (2 resets/fails)
 - GPU0:0%49C8W
 *** The number of GPUs (1) is changed or nvidia-smi failed. Reset required!
 - kill miners, wait 5 seconds
 ETC     >       0.210222572 < 0.280944966         81.8270%    1h8m58s|0  (0/1)  0.002307000 BTC
 ETH     #       0.280944966 = 0.280944966        100.0000%         0s|0  (0/1)  0.080997000 BTC
[10/05/18 01:20:11]
 - Checking NVIDIA GPUs (3 resets/fails)
 - GPU0:100%50C78W
 *** The number of GPUs (1) is changed or nvidia-smi failed. Reset required!
 - kill miners, wait 5 seconds
 ETC     >       0.209881585 < 0.280533888         81.8151%    1h10m3s|0  (0/1)    0.091c  0.0234b
 ETH     #       0.280533888 = 0.280533888        100.0000%         0s|0  (0/1)    0.003c  0.0012b
[10/05/18 01:21:11]
 - Checking NVIDIA GPUs (4 resets/fails)
 - GPU0:100%50C77W
 *** The number of GPUs (1) is changed or nvidia-smi failed. Reset required!
 - kill miners, wait 5 seconds
 ETC     >       0.209660843 < 0.280116501         81.8477%      1h11m|0  (0/1)  0.002304000 BTC
 ETH     #       0.280116501 = 0.280116501        100.0000%         0s|0  (0/1)  0.080837000 BTC
[10/05/18 01:22:11]
 - Checking NVIDIA GPUs (5 resets/fails)
 - GPU0:100%50C78W
 *** Too many GPUs resets or nvidia-smi fails. Reboot required!
 - kill miners, wait 5 seconds

Hashrate monitor ver.0.80pr
CFG file: C:/HRM/configs/profit.cfg
LOG file: C:/HRM/configs/profit(master).txt
HRM master works in profit mode
Press [?] for help

[10/05/18 01:23:01]
 ETC     >       0.209591282 < 0.280752312         74.6534%         0s|0  (0/1)    0.091c  0.0234b
 ETH     #       0.280752312 = 0.280752312        100.0000%         0s|0  (0/1)    0.003c  0.0012b

...

[10/05/18 09:40:04]
 - Checking NVIDIA GPUs (0 resets/fails)
 - GPU0:100%50C77W GPU1:0%38C6W
 *** GPU1: utilization:0% temperature:38C power:6W memusage:[Unknown Error]. Reset required!
 - kill miners, wait 5 seconds
 ETC     >       0.196880579 < 0.289949262         74.9017%   5h20m18s|10 (0/1)  0.002290000 BTC
 ETH     #       0.289949262 = 0.289949262        100.0000%         0s|0  (0/1)  0.081298000 BTC
[10/05/18 09:40:53]
 - Checking NVIDIA GPUs (1 resets/fails)
 - GPU0:100%49C77W GPU1:100%46C78W
 *** Normal GPUs operation is restored
 ETC     >       0.197479899 < 0.289383779         75.2415%    5h21m2s|11 (0/1)    0.086c  0.0222b
 ETH     #       0.289383779 = 0.289383779        100.0000%         0s|0  (0/1)    0.004c  0.0012b

 

 

Ссылка на комментарий
Поделиться на другие сайты

Написал плагин для управления HRM через Telegram бота. Реализован минимум необходимых функций. Можно указать монету для майнинга, остановить его или вернуть автовыбор. Позволяет отправлять клавиатурные команды в HRM и просматривать логи, профит и биржевые курсы монет. Может привязываться к userid пользователя Telegram для бОльшей секьюрности. Для всего остального лучше использовать HRMServer.

 

HRM telegram botHRM telegram botHRM telegram botHRM telegram botHRM telegram botHRM telegram botHRM telegram bot

Изменено пользователем Serzh Black
Ссылка на комментарий
Поделиться на другие сайты

Заглянул в бота. Голубь опять дает х2.5 профита :) жаль не долго. работать должны компьютеры, люди отдыхать ?

Screenshot_2018-05-11-21-52-58.png

Изменено пользователем Serzh Black
Ссылка на комментарий
Поделиться на другие сайты

по частым просьбам. плагин estimate_avg.txt теперь может показывать усредненный профит по двум временным интервалам. по умолчанию 1440 сохраненных значений - за сутки (клавиша А) и 120 - два часа (клавиша Q). в связи с временной невозможностью выложить релиз публикую плагин отдельно

 

estimate_avg.txt

Ссылка на комментарий
Поделиться на другие сайты

Плагин telegram_bot.txt теперь умеет отправлять различные уведомления, а также предоставляет такую возможность другим плагинам.

На данный момент приходят уведомления о смене монетки и о проблемах с NVIDIA.

Все ваши фермы в кармане! Вкалывают роботы, а не человек! :)

 

А что бы вы хотели получать от бота? Температуру, стату с майнера, фотку с вебкамеры, информацию с UPS, погоду или курсы валют? Что-то еще? Легко! :)

Screenshot_2018-05-14-12-13-34.png

Ссылка на комментарий
Поделиться на другие сайты

Телеграмовский бот теперь можно использовать для мониторинга и обслуживания всех master\slave копий HRM. команды легко дополняются именами ригов и управление "перехватывается" нужной фермой. Можно устраивать перекличку HRM, чтобы быстро узнать какая ферма филонит. Жить стало лучше, жить стало веселей! Релиз уже совсем скоро!

image.thumb.png.83b6a6f3d09d4dbd5d11e2f986d5cc8b.png

Изменено пользователем Serzh Black
Ссылка на комментарий
Поделиться на другие сайты

Счастья много не бывает. Счастье - когда полезная информация под рукой. Нужная информация при профит майнинге - это знание того, при каком курсе включался майнинг монет.

 

Теперь, при переключении монет, плагин estimate_avg.txt отлавливает этот момент и сохраняет курс включения. После нескольких часов\дней\недель работы HRM, можно нажать клавишу W и получить полный отчет по монетам, участвовавших в майнинге и их биржевые курсы, при которых происходили включения. А можете ничего не нажимать - при смене монеты, плагин автоматически выведет информацию на экран, а HRM запишет ее в логфайл. Кстати, эта информация также приходит в Telegram.

 

Если курс монеты упал, то вы вольны будете выбирать: слить по текущему и понизить профит, или поставить ордера на основе полученных данных

 

Всем профита! Релиз совсем скоро!

 

image.thumb.png.b17f425082ed52f598139917a1b75497.png

Изменено пользователем Serzh Black
Ссылка на комментарий
Поделиться на другие сайты

Все криптовалютные калькуляторы считают профит по одинаковым формулам. Но если опрос бирж и получение сложности происходит раз в пол часа, то онлайн-калькуляторы - это их условное название. HRM использует свежие данные и, если источник выбран правильно, никогда не ошибается.

 

Доверяй, но проверяй! Сегодня ночью Голубь опять уронил сложность, что дало хороший повод для проверки и наглядной демонстрации точности расчетов.

 

Итак, в 2:05 по Москве я получаю уведомление о том что монета сменилась (по правде говоря я прочел все уведомления утром :)

[17/05/18 02:05:57]
 - Telegram bot: notify: Mining coin was changed. Now mining PGN (0.00000021 BTC)
 - Checking NVIDIA GPUs (0 resets/fails)
 - GPU0:100%64C93W GPU1:100%66C97W

Следующая запись в логе (плагин coins_blocks.txt включен) показала прогноз на кол-во монет за сутки при неизменной сложности (а у Голубя она будет неизменна 2016 блоков) - 3034 монеты

[17/05/18 02:06:56]
 PGN     >       0.637284741 = 0.637284741        107.0000%      1m52s|1  (0/1) 3034.689c  0.6069b

Сообщение в Телеграм о том что монета снова переключилась я получил в 8:52

[17/05/18 08:52:20]
 - Telegram bot: notify: Mining coin was changed. Now mining KEC (0.00059992 BTC)
 - Checking NVIDIA GPUs (0 resets/fails)
 - GPU0:100%64C105W GPU1:100%65C103W
 PGN     :       0.150217118 < 0.359650274         41.7676%   6h46m18s|1  (0/1)  0.000000200 BTC
 KEC     >       0.359650274 = 0.359650274        107.0000%    5h26m8s|19 (0/1)  0.000599920 BTC

Итого Голубь майнился 6 часов 46 минут. Несложные расчеты дают нам следующий прогноз: 855 монет за указанный промежуток времени. Осталось только сравнить с выплатой на пуле:

 

image.thumb.png.dab6c92cda8f7a0a4d3a83a51b8866e8.png

 

Расхождения, есть и существенные, даже если учесть 1% комиссию пула.

 

Но мы не учли следующий момент: блок эксплорер показывает сложность не крайнего выпущенного блока, а найденного. т.е. когда блок эксплорер показывал низкую сложность, пулы в это время решали блок со сложностью 1803.053279239098. На его нахождение было потрачено аж 40 минут! Учтем это в расчетах и получим: 758 монет за 6 часов. 758-1% = 750.42 монет с учетом комиссии пула. Профит!

 

Вот такая простая арифметика :) И это прекрасно, что есть возможность посчитать ПОСЛЕ получения профита, а не ДО, чтобы не проспать 2:05 и включить майнинг

 

 

 

Ссылка на комментарий
Поделиться на другие сайты

К обеду перестали приходить оповещения с телеграма и ноль реакции на команды. HRM при этом продолжал работать, не завис и не отвалился.

 

Теперь плагин поддерживает HTTPS проксирование через любой бесплатный (или платный) прокси. Никаких настроек роутеров, VPN и вмешательств в систему влияющих на профит и требующих времени на реализацию. Всего два параметра: IP и порт, и, возможно, логин пароль и все снова работает как часы.

Ссылка на комментарий
Поделиться на другие сайты

Т.к. HRM все равно ползает по интернету и собирает различные данные, то научил его проверять балансы ПОС кошельков и мастернод. Теперь, при изменении балансов, Телеграм бот радостно об этом сообщает. Мелочь, а приятно. С другой стороны, если вдруг сообщений не будет - то это будет сигналом о необходимости диагностики неполадок. Всем профита!

Изменено пользователем Serzh Black
Ссылка на комментарий
Поделиться на другие сайты

@Serzh Black 

Добрый день.

А можно как-то понять из-за чего было переключение: из-за падения сложности сети или из-за роста цены монеты на бирже в режиме profit?

Я конечно понимаю, что скорей всего переключение было из-за сложности, чем из-за роста\падения монеты, но все равно интересно можно это как-то промониторить ?)

Изменено пользователем konfetka
Ссылка на комментарий
Поделиться на другие сайты

1. переключатель --savestat сохраняет данные о курсах в csv файлах

2. плагин coins_blocks.txt показывает курсы в окне программы, но только в том случае если профит получен вычислениями в eval, а не взят с пула

3. плагин estimate_avg.txt показывает при каких курсах включилась-выключилась монета

4. каждое переключение дублируется в телеграм с информацией о профите и курсе

в профит режиме информация о сложности теряется, если ее специально не сохранять. только основываясь на том как сильно изменился курс можно прикинуть, что вероятнее всего вызвало переключение

Ссылка на комментарий
Поделиться на другие сайты

Информацию о сложности можно как-то сохранить специально ?

И вообще, есть ли debug режим, чтобы сравнивать получаемые данные с данными из explorer'ов. Корректно ли он их получает или нет, или где-то ошибка в regexp закралась.

 

Я так понимаю что в $TICKERS ошибка в данных условиях ?

	if ($cryptopia){
		my $tickers = &GetContentFromURL("https://www.cryptopia.co.nz/api/GetMarkets");
		while ($tickers =~ /\{"TradePairId":\d+,"Label":"(.+?)","AskPrice":\d+\.?\d*,"BidPrice":(\d+\.?\d*),"Low":.+?\}/g)
		{
			$TICKERS{stocksexchange}{$1} = $2;
		}}

	if ($yobit){
		# here you need to specify required currencies pairs. separated by "-"
		my $tickers = &GetContentFromURL("https://yobit.net/api/3/ticker/ltc_btc-nmc_btc-btc_usd-xvg_btc");
		while ($tickers =~ /"(.+?)":\{"high":.+?"buy":(\d+\.?\d*),"sell":.+?\}/g)
		{
			$TICKERS{stocksexchange}{$1} = $2;
		}}

 

Ссылка на комментарий
Поделиться на другие сайты

если хочется debug - то это print всех значений в eval для контроля

да точно ошибка. спасибо ) я ж копипастил, а этими биржами не пользуюсь сам

Ссылка на комментарий
Поделиться на другие сайты

В ЛС задают одни и те-же вопросы. Наверное, информация размазалась по теме и не всегда легко доступна для поиска. Немного резюмирую.

 

1. HRM сначала ищет данные для расчета профита в WTM (не рекомендуется)

2. Если монета не найдена на WTM, то пытается найти профит по URL указанным в @PROFITURLS (не рекомендуется)

3. если не найдено, то выполняет eval у монеты, где вы должны эти данные определить (почти как в любом криптовалютном калькуляторе, рекомендуется)

 

вот конфиг для честного расчета профита по свежим данным. применим для определения любой монеты. Левые названия используются не случайно. Если URL WTM будет определен в %VARS или будут добавлены URL в список @PROFITURLS, то HRM гарантированно нашу монету там НЕ найдет и будет считать именно так как и задумано.

 

Помните! в WTM монета будет искаться по 'my XYZ coin', а на пулах по 'myXYZ'. Если в двух этих случаях профит не получен, то только тогда попытается его посчитать по указанным вами данным.

 

А также! Апгрейд плагинов и изменения конфигов можно делать без отключения HRM, изменения он подхватит "на лету". Выключение и повторное включение HRM потребуется только при обновлении exe файла или если он работал слишком долго при частых обновлениях конфигов и плагинов (на всякий случай)

 

###################################################################
# VARIABLES                                                       #
###################################################################

%VARS = (
	# плагин тикеров. нужен если не хотите в eval задавать курс $CStat{$c}{rate} вручную
	# включите нужную биржу в плагине и используйте ее формат определения тикеров
	'PL'  => 'plugins:exch_tickers.txt',
	# никаких воттумайнов! все честно считаем сами!
	'WC'  => '#https://whattomine.com/coins.json',
);

###################################################################
# COINS                                                           #
###################################################################

%C = (

# левое определение монеты
'myXYZ' =>
{
	# и ее левое название
	'wtmname'     => 'my XYZ coin',
	# дергаем URL со сложностью
	'hrurl'       => 'https://chainz.cryptoid.info/btx/api.dws?q=getdifficulty',
	# вытаскиваем из кучи текста только то, что нам нужно
	'hrregexp'    => '^(.+?)$',
	# задаем данные для калькулятора. все обязательно!
	'eval'        =>
	'
		# алторитм. не Bitcore, не timetravel10 и не что либо еще
		# а в точности так как он определен в %ALGSHR
		$CStat{$c}{algo} = "bitcore";
		# блок тайм
		$CStat{$c}{bt} = 150;
		# блок ревард
		$CStat{$c}{br} = 3.13;
		# курс
		$CStat{$c}{rate} = $TICKERS{cryptobridge}{BTX_BTC};
		# пересчет сложности в хэшрейт по правильной для алгоритма формуле!
		# в большинстве случаев используется коэфицент 0x100000000
		# для ethash и криптонайта 1, для эквишэша 8192
		$CStat{$c}{hr} = $CStat{$c}{hr}*0x100000000/$CStat{$c}{bt};
	',
	'skip'        => 'monitor',
},

);

###################################################################
# PROFIT MODE                                                     #
###################################################################

# никаких профитов с пулов! все честно считаем сами!
@PROFITURLS =
(
);

%ALGSHR = (
	# производительность алторитма в !!MH/s!! (не ошибаемся с количеством нулей)
	# профит в !!mBTC/day!! HRM посчитает сам
	'bitcore'       => '2*11',
);


1;

 

запуск:

hrm.exe --profit

 

Изменено пользователем Serzh Black
Ссылка на комментарий
Поделиться на другие сайты

@Serzh Black может закрепить в первый пост под спойлер ?

Еще мне кажется нужно обновить скриншот программы, а то она немного видоизменилась...

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

×
×
  • Создать...