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

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

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

(изменено)

Hashrate monitor (HRM)

Hashrate monitor (HRM) программа для переключения майнеров при понижении хэшрейта (сложности) добываемых монет (hashrate режим) или при повышении их доходности (profit режим). Т.к. сложность и хэшрейт сети прямо пропорциональны времени нахождения блока, то для переключения майнеров в hashrate режиме можно использовать любую величину, однако далее по тексту будет использоваться и то и другое

 

Может использоваться как органайзер батников для их автоматического и\или быстрого и удобного ручного переключения (рекомендуется делать это через HRMServer или плагин Telegram бота) и для мониторинга доходности монет или алгоритмов пулов и мультипулов. Умеет показывать профит в любой валюте по данным любой биржи, подсчитывать количество монет, которое вы получите с пула, количество найденных блоков в день при майнинге соло и т.д. и т.п. (криптовалютный калькулятор с постоянным онлайн мониторингом!)

 

Может быть установлена на нескольких ригах в локальной сети для работы в master\slave режимах, когда все подчиненные фермы будут работать по сценариям заданным в master. Используя HRMServer - бесплатный браузерный интерфейс управления, можно останавливать/запускать процессы на удаленных машинах, перегружать фермы и синхронизировать настройки, батники, майнеры и т.д., просматривать статистику ccminer всех ферм установленных в локальной сети с любого компьютера, смартфона или планшета из любой точки планеты где есть интернет (избитая фраза, но как написать по-другому? ))

 

Функционал HRM может быть расширен при помощи плагинов. Например, HRM может следить за работой видео карт, и в случае проблем производить сброс устройств и\или перегружать ферму. При помощи плагина Telegram бота можно управлять HRM и процессом майнинга со смартфона, а также получать "в карман" различные уведомления о работе фермы и информацию из других плагинов. Есть плагины расчета усредненных профитов за различные промежутки времени, пересчет профита в рубли, доллары, монеты и блоки, оперативного отображения биржевых курсов, плагин финансового контроля работы мастернод и POS, плагин тикетов различных бирж, который постоянно пополняется новыми биржами.

 

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

 

С июня 2018 года HRM не имеет devfee, а версия lite полностью бесплатная.

Как работает HRM в hashrate режиме

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

Пояснение: пусть отклонение хэшрейта одной из монет составляет -30%, а для двух других -20% и +5%. Отклонение -30% говорит о том, что хэшрейт монеты меньше установленного лимита на 30%. Это меньше чем -20% и меньше чем +5% и именно эту монету сейчас надо майнить. Отклонение +10% говорит о том, что хэшрейт монеты больше установленного для нее лимита на 10%, однако это меньше чем, например, +15% или +30%, а значит будет запущен майнер именно этой монеты.

Как работает HRM в profit режиме

В profit режиме программа может использовать данные о доходности с YiiMP подобных пулов или вычислять доходность для каждой монеты основываясь на hashrate сети или данных WTM. В этом случае переключение происходит на майнинг той монеты доходность которой наибольшая

Цитата

 

Цитата
Цитата
Цитата
Цитата
Цитата

 

Цитата
Цитата
Цитата
Цитата
Цитата

 

HRM умеет майнить не только монеты, но и алгоритмы. Актуально для мультипулов с автоконвертацией в BTC или в другие валюты. Подробнее в readme-rus.html и здесь

Что потребуется до начала работы с HRM

Для нормальной работы некоторых плагинов и сервера, файлы из папки additional files должны быть скопированы куда-нибудь в путь поиска. Например в папку установки Windows

 

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

Цитата

 

Цитата

Конфигурационный файл hrm.cfg

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

Переменные

  • {TH} - время в секундах между проверками Hashrate
  • {TK} - пауза в секундах между сменами майнеров (после kill)
  • {TC} - количество проверок Hashrate прежде чем запустить другой майнер.
  • {HD} - для монеты, которая майнится в данный момент, HRM будет вычитать указанное здесь кол-во процентов из отклонения hashrate или добавлять проценты к профиту в profit режиме. Препятствует частому переключению майнеров при колебаниях hashrate или прибыльности в пределах указанных здесь процентов
    Цитата

     

  • {WC} - URL http://whattomine.com/coins.json (иногда может потребоваться его заменить другой или присвоить переменной пустое значение - данные с WTM парситься не будут)
  • {WC1}, {WC2} и т.д. - дополнительные WTM URL монет, которых нет в http://whattomine.com/coins.json
  • {PL} и {EV} - место для размещения Perl кода (плагинов) расширяющих возможности или изменяющих логику работы программы. Сначала выполняется {PL} до получения хэшрейтов и/или профитов монет, {EV} после. Например так или так и т.п.
  • {LT} - лимит в mBTC/day в режиме --profit. если профит монеты меньше указанного здесь значения, то монета "ставится на паузу" и не участвует в майнинге. по умолчанию 0 - отключено
  • {RT} - курс для пересчета mBTC в другую удобную валюту, например RUR или USD

  • {CC} - пользовательский код, который исполняется при нажатии на клавишу [C]. по умолчанию показывает профит в USD по курсу Yobit

  • {C0}...{C9} - установка\снятие тригеров и выполнение пользовательского кода при нажатии на цифровые клавиши

  • {C*} - выполнение пользовательского кода при нажатии на соответствующую клавишу. Например: {CQ} - запустит плагин при нажатии на клавишу Q

 

Логика работы такая: если HRM определил, что hashrate (или прибыльность) какой-либо из монет изменился и требуется переключение майнеров, то оно будет произведено только в том случае, если это условие будет выполнено указанное в $TC количество раз. Например, если $TH равно 60 секундам, а $TC равно 2, то через 120 секунд HRM убьет процесс работающего майнера, сделает паузу в $TK секунд и запустит новый майнер.

Монеты

Hashrate режим

Минимальные, достаточные и обязательные параметры для определения монеты в hashrate режиме (вместо используемого в примере ETC используйте идентификатор валюты, он будет отображаться в окне работы HRM):

'ETC' =>
{
	wtmname  => 'EthereumClassic',
	minerdir => 'D:\Mining\Claymore_Dual',
	minerexe => 'ETC-Ethermine.bat',
	hrlimit  => '7000000000000',
},

{wtmname} - название монеты в точности как здесь: http://whattomine.com/coins.json. Если монеты нет на WTM, то можно ввести любое имя
{minerdir} - директория в которой находится майнер указанной монеты
{minerexe} - запускаемый файл майнера
{hrlimit} - значение hashrate монеты, которое будет сравниваться с текущим хэшрейтом сети

 

Если указан минимальный набор параметров для монеты, то для определения хэшрейта сети будут использованы данные WhatToMine на основе {wtmname} монеты. Если монеты нет на WTM, а также для более точного и оперативного определения хэшрейта потребуется использовать другие источники с информацией о сети. Для этого в данные о монете необходимо добавить и определить еще два параметра:

'ETC' =>
{
	wtmname  => 'EthereumClassic',
	minerdir => 'D:\Mining\Claymore_Dual',
	minerexe => 'ETC-Ethermine.bat',
	hrlimit  => '7000000000000',
	hrurl    => 'https://api-etc.ethermine.org/networkStats',
	hrregexp => '"hashrate":(\d+),',
},

{hrurl} - URL с данными о hashrate сети. Может быть URL, локальным файлом или RPC-JSON запросом
{hrregexp} - регулярное выражение Perl для извлечения хэшрейта из данных по указанному URL

Для одной из монет может быть указан дополнительный параметр {main}:

	main     => 'true',

Если этот параметр установлен в true, то монета считается основной, что меняет логику майнинга следующим образом: если для всех монет изменение хэшрейта положительное (т.е. больше указанных в {hr} лимитов), то майнится основная монета, а не монета с наименьшим отклонением.

 

В профит режиме если профит всех участвующих в майнинге монет меньше указанного в $VARS{LT} значения, то майнится будет только основная монета, а все остальные будут поставлены на паузу. <strong>Внимание!</strong> если в профит режиме установлен $VARS{LT} лимит, но не указана основная монета, то в случае снижения профита монет до значения меньшего чем $VARS{LT}, все монеты будут поставлены на паузу и майнинг остановится.

Profit режим

Минимальные, достаточные и обязательные параметры для определения монеты в profit режиме

'SUMO' =>
{
	wtmname  => 'Sumokoin',
	minerdir => 'D:\Mining\ccminer_cryptonight',
	minerexe => 'Sumo.bat',
},

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

'SUMO' =>
{
	wtmname  => 'Sumokoin',
	minerdir => 'D:\Mining\ccminer_cryptonight',
	minerexe => 'Sumo.bat',
	hrurl    => 'http://sumopools.com/',
	hrregexp => '<p>Hash Rate: (\d+\.\d+)',
	eval     => '$CStat{$c}{hr} = $CStat{$c}{hr}*1000000',
},

В этом примере данные о hashrate берутся с http://sumopools.com/, а вся другая необходимая для расчета прибыльности информация из WTM. Плохо документированный параметр eval позволяет производить любые вычисления, а в данном примере переводит MH/sec в H/sec. Еще пример использования eval

 

{hrlimit} в профит режиме задает лимит профита монеты. Позволит исключить монету из майнинга если профит ее меньше указанного здесь предела. Подробнее здесь

 

Т.к. в этом режиме используется информация о доходности с пулов и производительности алгоритмов, то в конфигурационном файле необходимо определить URL пулов (можно использовать несколько, но только в том случае если данные о всех монетах получить с одного пула нельзя):

@PROFITURLS =
(
	'http://api.yiimp.eu/api/currencies',
	'https://umine.org/api/currencies',
	'https://altminer.net/api/currencies',
	'http://www.zpool.ca/api/currencies',
);

И производительность алгоритмов в MH/s (in GH/s for sha256 & blake algos, kS for equihash - смотрите информацию на пуле)

 

Цитата
%ALGSHR = (
	'xevan'			=> 2.2,
	'bitcore'		=> 11,
	'neoscrypt'		=> 0.6,
	'x17'			=> 6.9,
	'skunk'			=> 18,
	'blake2s'		=> 2.8,
	'c11'			=> 12.5,
	'decred'		=> 1.8,
	'equihash'		=> 0.3,
	'groestl'		=> 26,
	'hmq1725'		=> 3.1,
	'hsr'			=> 6.4,
	'lbry'			=> 182,
	'lyra2v2'		=> 20.5,
	'x11'			=> 8.9,
	'sib'			=> 9.0,
	# algos as named here http://whattomine.com/coins.json
	'Ethash'		=> 22.5,
	'CryptoNight'	=> 0.000430,
);
Цитата

В значении производительности можно использовать формулы. Например, если ферма состоит из 6 одинаковых карт, то для всех алгоритмов можно записать:

'x17' => 6*6.9

и даже так:

'x17' => 3*6.9+3*9.4

 

 

Названия алгоритмов, используемые на YiiMP пулах и WTM разные, поэтому для монет данных о которых нет на пулах необходимо отдельно определить алгритмы в соответствии с используемыми WTM названиями.

 

Для того чтобы исключить монету из списка не удаляя данные о ней из конфигурационного файла нужно добавить параметр {skip} со значением true:

	skip     => 'true',

Если присвоить этому параметру значение 'monitor', то монета также будет исключена из майнинга, но статистика по hashrate или прибыльности будет выводится в окне программы.

 

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

 

Окно программы в профит режиме

 

HRM-window.thumb.jpg.ceeadebf3753887c22a76fd1299d92fd.jpg

 

  1. Так обозначаются различные действия, производимые HRM и плагинами, также ошибки
  2. Список монет, которые участвуют в мониторинге
  3. Профит каждой монеты в сравнении с максимальным по всем монетам
  4. Процентное соотношение профита монеты и максимального профита с учетом надбавки $VARS{HD}
  5. Счетчик. Начинает тикать когда пришло время запуска монеты. Показывает значения от 0 до $VARS{TC}
  6. Место в котором различные плагины показывают дополнительную информацию о монетах. В примере плагин coins_blocks.txt показывает биржевые курсы и количество монет\блоков в день основываясь на текущем (мгновенном) профите
  7. Информативный заголовок окна, который показывает когда запущен и сколько времени работает HRM, режим master\slave, имя рига, какая монета и каким батником майнится
  8. Количество запусков майнеров для каждой монеты и суммарное время работы
  9. Монета, по каким-то причинам, на паузе. При текущих условиях в автоматическом переключении не участвует
  10. Монета участвует в автоматическом переключении по показаниям максимального профита
  11. Монета в режиме мониторинга, в майнинге не участвует
  12. Сейчас майнится эта монета
  13. знак * рядом с определением монеты, указывает, что эта монета основная. знак ! - мониторинг ведется по данным WTM или данные протухли (биржа или пул не вернули результат, используются предыдущие полученные данные)

 

Пп. 9, 10 и 11 справедливы только на момент отображения. Статусы монет могут изменятся внешними плагинами при достижении определенных условий. Например плагином, который может включить монету при достижении определенного блока или плагином Telegram бота, где можно задать монету для майнинга, а остальные перейдут в режим мониторинга, что соответствующим образом отобразится в окне HRM

 

 

Запуск HRM

По умолчанию HRM запускается в тестовом режиме. В этом режиме программа ведет себя как обычно, но вместо майнеров запускает команду ping, имитирующую работу майнинга. Это сделано для того, чтобы Вы могли настроить программу на другом компьютере (даже неподготовленном для майнинга) или в другой директории, прежде чем запускать реальные процессы майнинга. Окна создаваемых процессов будут иметь название HRMminertestprocess с указанием понарошку добываемой валюты и не будут коррелировать с реальными процессами майнинга, если HRM уже работает на этом компьютере.

 

После настройки и получения удовлетворительных результатов, для запуска HRM в рабочем режиме используйте переключатель --run:

  • hrm.exe --run

 

Запуск с переключателем --cfg запустит HRM с указанным конфигурационным файлом:

  • hrm.exe --cfg:my.cfg
  • hrm.exe --run --cfg:my.cfg

 

Переключатель --dir заставит HRM искать конфигурационный файл в указанной директории:

  • hrm.exe --run --cfg:my.cfg --dir:\\WORKSTATION\SharedFolder

 

Переключатель --log создает log файл в директории --dir с именем конфигурационного файла и с расширением txt:

  • hrm.exe --run --cfg:my.cfg --dir:\\WORKSTATION\SharedFolder --log

 

Переключатель --rig позволяет идентифицировать риг и разделить log файлы:

  • hrm.exe --run --cfg:my.cfg --dir:\\WORKSTATION\SharedFolder --log --rig:1
  • hrm.exe --run --cfg:my.cfg --dir:\\WORKSTATION\SharedFolder --log --rig:2

В результате работы двух копий HRM будут созданы два log файла: \\WORKSTATION\SharedFolder\my1.txt и \\WORKSTATION\SharedFolder\my2.txt

 

Переключатель --savestat создает csv файлы по каждой монете, пригодные для анализа в Excel:

  • hrm.exe --run --cfg:my.cfg --dir:\\WORKSTATION\SharedFolder --log --rig:1 --savestat

В результате работы HRM будут созданы csv файлы для каждой определенной в конфигурационном файле монете у которой {skip} не равен true. Также как и с log файлы, файлы будут создаваться в директории \\WORKSTATION\SharedFolder\ и помечаться идентификатором --rig

Формат файла в hashrate режиме:

дата; hrlimit; полученный_hr; отклонение_hr; воттумайновский_hr; биржевой_курс_c_воттумайна

Формат файла в profit режиме:

дата; профит_монеты; максимальный_профит_по_всем_монетам; отклонение_профита; воттумайновский_hr; биржевой_курс_c_воттумайна
Цитата

 

Если указать переключатель --minimize, то окна майнеров и HRMServer будут открываться свернутыми. Переключатель --nowindows - окна совсем не будут открываться, ни майнеры ни команда ping в тестовом режиме запускаться не будут.

 

--profit запуск HRM в profit режиме:

  • hrm.exe --run --cfg:my.cfg --dir:\\WORKSTATION\SharedFolder --log --rig:1 --savestat --profit

 

--profit:algos профит майнинг алгоритмов на мультипулах с автоконвертацией 

 

--getcoins - HRM получает данные о монетах с YiiMP

  • hrm.exe --getcoins:http://www.zpool.ca/api/currencies

 

--getalgos аналогично --getcoins но для анализа доходности алгоритмов 

 

Цитата

 

Использование HRM в сети из нескольких ферм

Во время работы HRM обращается к различным ресурсам в интернете, а в сети из нескольких ригов количество таких обращений возрастает пропорционально количеству установленных копий HRM. Для того чтобы минимизировать трафик и вероятность получения отказа в доступе из-за слишком частых обращений (Too many requests) HRM может работать в master и slave режимах

Запуск HRM в режиме мастер (основной) производится при помощи переключателя --master:

 

  • hrm.exe --run --cfg:my.cfg --dir:\\MASTERRIG\HRM --log --rig:master --savestat --profit --master

 

Если указан переключатель --master, то ответы на все запросы, которые производятся по любым адресам URL, HRM будет кэшировать на диске в директории \\MASTERRIG\HRM

 

Все остальные копии HRM в сети из нескольких ферм необходимо запустить в режиме slave (подчиненный) указав переключатель --slave:

 

  • hrm.exe --run --cfg:my.cfg --dir:\\MASTERRIG\HRM --log --rig:slave1 --profit --slave
  • hrm.exe --run --cfg:my.cfg --dir:\\MASTERRIG\HRM --log --rig:slave2 --profit --slave
  • hrm.exe --run --cfg:my.cfg --dir:\\MASTERRIG\HRM --log --rig:slave3 --profit --slave

 

В этом случае HRM прежде чем сделать запрос по адресу URL сначала попытается найти его в кэше в директории \\MASTERRIG\HRM, который создал HRM master. Если данные найдены и со времени создания кэша прошло менее 180 секунд, то используются данные из кэша. Если же данные не найдены или просрочены (HRM master прекратил работу), то HRM slave проигнорирует кэш и получит актуальные данные из интернета.

Совместное использование переключателей --master и --slave

 

  • hrm.exe --run --cfg:my.cfg --dir:\\MASTERRIG\HRM --log --rig:slave1 --profit --master --slave

 

В этом случае HRM ведет себя как slave до тех пор пока рабатает HRM master (--rig:master). Если же по каким-то причинам HRM master прекратил работу, то через 180 секунд HRM не только скачает данные из интернета но и закэширует их для всех slave копий в сети и будет делать это каждые 180 секунд до тех пор пока HRM master не заработает снова.

 

Переключателю --slave можно указать значение в секундах в течение которого данные в кэше будут считаться актуальными:

 

  • hrm.exe --run --cfg:my.cfg --dir:\\MASTERRIG\HRM --log --rig:slave1 --profit --slave:240

 

По умолчанию это значение 180 секунд (3 минуты)

Плагины (только для версии PRO)

В качестве значения для $VARS{PL}, $VARS{EV}, $VARS{CC} и $C{COIN}{eval} может быть код Perl в явном виде или во внешнем файле. Во втором случае, чтобы указать в каких файлах находятся плагины значения переменных необходимо записывать следующим образом

%VARS = (
	'CC'  => 'plugins:estimate_rur.txt;estimate_usd.txt',
);

Плагины должны находиться в директории plugins и перечисляются через ; (точка с запятой)

Цитата
Цитата
Цитата

 

Цитата
Цитата

Версии HRM

Существует две основные версии HRM: PRO и LITE. В отличие от PRO версии, версия LITE не поддерживает работу с плагинами. Однако, если версию LITE запустить с переключателем --trial, то у Вас появится возможность ознакомиться с PRO версией до принятия решения о ее покупке.

HRMServer

HRM имеет в своем составе веб-сервер с поддержкой SSL для удаленного мониторинга и конфигурирования HRM, который запускается так:

 

  • hrmserver.exe --dir://WORKSTATION/SharedFolder --address:127.0.0.1 --port:8080 --user:vasya --password:pupkin

 

В указанном выше примере будет запущен HRMServer для мониторинга всех логфайлов и изменения всех конфигурационных файлов в директории \\WORKSTATION\SharedFolder. Если логфайл не изменялся более 3 минут, то он будет помечен красным фоном, что будет указывать на то, что процесс HRM, по все видимости, был остановлен. Переключатели --dir, --user и --password являются обязательным для запуска сервера

 

Переключатели:

  • --address:127.0.0.1 - привязать сервер к указанному адресу
  • --port:8080 - слушать указанный порт
  • --log - создавать log файлы в директории указанной в --dir
  • --open - после запуска сервера открыть страницу в браузере
  • --ssl - использовать SSL шифрование соединения
  • --dir - рабочая директория где находятся конфигурационные и лог файлы HRM
  • --user и --password - имя пользователя и пароль для доступа к серверу

 

Помимо мониторинга и настройки HRM, HRMServer также умеет запускать/останавливать HRM процессы и майнинг процессы на удаленных машинах, перегружать фермы, синхронизировать содержимое указанных директорий. Для выполнения этих функций требуется настройка при помощи конфигурационного файла hrmserver.cfg

 

Пример конфигурационного файла:

%HRM = (

# название рига\фермы для отображения в окне HRMServer
'HRM master' =>
{
	# IP адрес машины (обязательно)
	'IP'          => '192.168.0.10',

	# имя пользователя с правами администратора и пароль 
	# не обязательно для фермы где установлен HRM master и HRMServer
	# обязательно для ферм где HRM работает в режиме slave
	'user'        => '',
	'password'    => '',

	# путь и имя файла для запуска HRM на этом компьютере (обязательно)
	'startdir'    => 'C:\HRMonitor',
	'startexe'    => 'master.bat',

	# аргументы командной строки (не обязательно)
	'parameters'  => '',

	# пути к директориям содержимое которых будет клонироваться с HRM master на все HRM slave
	# обязательно для HRM master и только для HRM master!
	'sources'     => ['C:\HRMonitor','C:\Miners'],
},

'HRM slave 1' =>
{
	'IP'          => '192.168.0.15',

	# обязательно для HRM slave
	'user'        => 'user',
	'password'    => 'password',
	
	# пути и файлы для запуска HRM на этой машине
	'startdir'    => 'C:\HRMonitor',
	'startexe'    => 'slaves.bat',
	'parameters'  => '',

	# Имена shared папок на HRM slave (\\192.168.0.15) для синхронизации с HRM master
	# обязательно для HRM slave и только для HRM slave!
	# в этом примере HRMServer будет синхронизировать содержимое папок
	# 'C:\HRMonitor' и 'C:\Miners' на HRM master (192.168.0.10)
	# с соответствующими папками на HRM slave: 
	# '\\192.168.0.15\HRMonitor' и '\\192.168.0.15\Miners'
	'destination' => ['HRMonitor','Miners'],
},

'HRM slave 2' =>
{
	'IP'          => '192.168.0.20',
	'user'        => 'user',
	'password'    => 'password',
	'startdir'    => 'C:\HRMonitor',
	'startexe'    => 'slaves.bat',
	'parameters'  => '',
	'destination' => ['HRMonitor','Mining'],
},

);

1;

Для работы HRMserver потребуются утилиты PSTools. Необходимо скачать их на сайте Microsoft и скопировать в папку с Windows.

Если кратко, то получается следующая картина: в локальной сети на главном компьютере установлен HRMServer и HRM в режиме master. Все майнеры, настройки батников и конфигов HRM производятся на нем. HRMserver клонирует все файлы, батники, конфиги и т.п. на все остальные компьютеры, определенные в hrmserver.cfg. Все HRM slave фермы будут работать по заданному на HRM master сценарию.

 

****************************************************************************************************************

 

Внесите в файлы hrm.bat и hrmserver.bat необходимые изменения самостоятельно

Замечания:

WTM возвращает hashrate в хэшах, в то время как другой источник может вернуть что-то типа 45.6. Учитываете это при задании {hrlimit} при переходе с WTM на другой источник

 

Если пул возвращает, например, 900 kh/s, а при повышении хэшрейта вместо 1100 kh/s вернет 1.1 Mh/s (или наоборот), то, в зависимости от значения {hrlimit} HRM воспримет это как резкое (~1000%) повышение или понижение хэшрейта. Мне пока такой случай не попадался, возможно решить его правильным значением {hrregexp} или {eval}

 

Актуальный readme-rus.html внутри архива с программой. Рекомендую сначала прочесть readme-rus.html, а потом этот пост, т.к. он содержим много ссылок на примеры и готовые решения

 

Загрузить HRM

 

Купить версию PRO

Стоимость PRO версии составляет 3000 рублей (50 USD) в любом криптовалютном эквиваленте. Одна покупка дает право на установку HRM на неограниченном количестве компьютеров\ферм в одной локальной сети. Для установки HRM в других сетях, приобретите, пожалуйста, соответствующее количество лицензий

 

Кошельки для перечисления

 

Внимание! Это кошельки бирж! Свяжитесь со мной перед осуществлением перевода.

  • DOGE: DJPjhPW1eSDjYwWsQnk21ge2NBrZzUrRMT
  • LTC: LegDktiEvqmshEG52V8beAzApEN9auV3Ms
  • ETH: 0xe8683286f54970b418bf4091397dc15ca8f25433
  • RVN: REpVwufyEjbEms9WuSRoTkwVYYHh62XjZt

 

Платная настройка

 

Если, не смотря на большое количество примеров и готовых решений в этой теме, Вы не горите желанием вникать в настройку, то разработчик за минимум 0.1 LTC готов настроить конфиг программы под Ваши условия, провести консультации и дать рекомендации в использовании программы в частном порядке.

 

 

Изменено пользователем Serzh Black
HRM v0.83(multipools), HRMServer v0.82(ssl)

Поделиться сообщением


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

А тем временем получается вот что. Кроме выловленных и исправленных багов, окошко программы также приобрело более информативный вид.

 

image.thumb.png.3a45d6328f615ad2a5ea263920422707.png

 

1) сейчас работает майнер этой монеты

2) статистика по hashrate для каждой монеты в сравнении с указанными значениями

3) отклонения hashrate в процентах

4) суммарное время работы каждого майнера

5) счетчик проверок hashrate. начинает тикать когда для определенной монеты наступили условия для запуска ее майнера

6) монета есть в списке, но майнинг отключен, только сбор (в todo листе) и мониторинг статистики

7) указывает что данные о hashrate берутся с WTM и/или при очередном обновлении получить свежие данные не удалось. во втором случае используются крайние успешно полученные показания

8) указывает что монета основная

 

Заголовок окна майнера, также имеет более информативный вид и указывает какая монета каким майнером майнится и когда процесс был запущен

 image.thumb.png.bd9f8b788bac68bae5a6f9103764c702.png

 

А как же покритиковать? ;)

 

Изменено пользователем Serzh Black

Поделиться сообщением


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

писал в личных сообщениях.

 

может как вариант переключать не по хешрейту а по сложности сети ( не знаю может и не правильно это) а за hrlimit использовать   (сложности сети за 7 дней чтоб было от чего отталкиваться ) то же допустим с whattomine

Поделиться сообщением


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

Спасибо за интерес.

 

Насколько я зная (хотя могу глубоко ошибаться) сложность сети вычисляется на основе HR и времени нахождения блока, а не наоборот. Т.е. первоисточником является все же мощность сети, не сложность. Грубо говоря, происходит следующее: через определенное количество найденных блоков сеть корректирует сложность на основе количества выпущенных в единицу времени блоков. Корректирует таким образом, чтобы среднее время нахождения блока оставалось неизменным в соответствии с заданным сетью значением. Другими словами, сложность сети имеет гораздо более усредненное значение, чем мощность, имеет, как бы это правильнее сказать, более "меандроподобный" график.

 

По поводу данных с WTM. Их имеет смысл использовать только тогда, когда, по каким-либо причинам, нет возможности получить "мгновенную" мощность сети (что очень рекомендуется). По моим наблюдениям ВСЕ монеты на WTM лагают. По URL http://whattomine.com/coins.json  можно получить всю информацию о монете, в том числе параметр timestamp  - это время в секундах "снятия" данных о монете с 00 часов 00 минут 1 января 1970 года по Гринвичу. Задержки иногда бывают совершенно недопустимы для того чтобы поймать нужный момент. Именно поэтому рекомендую использовать данные пулов и собственных нод для получения "мгновенного" значения HR. Понятно, что все усредняется, но лучше иметь более достоверную информацию о мощности сети.

 

Часто вижу, что тогда, когда монета попала а ТОП WTM, майнер программой уже прибит и майнится другая монета. Т.е. вход в майнинг и выход из него по WTM происходит слишком поздно, тогда когда сливок уже нет.

 

Если интересно, то можно понаблюдать любую сеть, например Expanse (http://www.gander.tech/) и данные WTM. Именно поэтому в HRM, если данные о HR получены с WTM монета в списке помечается восклицательным знаком

 

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

 

 

Изменено пользователем Serzh Black

Поделиться сообщением


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

где можно брать кроме WTM данные об актуальном и среднем хешрейте монете. Знаю что типа в гугле искать ( искал ) но может есть первоисточник. Особенно есть данные на сайте но их взять нельзя. ?

Поделиться сообщением


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

На любом пуле есть информация о мощности сети монеты. У некоторых есть даже апи.

https://api-etc.ethermine.org/docs/

https://api.ethermine.org/docs/

https://api-zcash.flypool.org/docs/

Поделиться сообщением


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

На этом пуле да есть api  которое можно использовать но монет там как бы мало :) а например на suprnova монет побольше информация тоже есть но как ее использовать в программе ( как взять ее оттуда и есть много аналогичных пулов где все есть а взять нельзя) ? но они же все откуда то берут ее ?

Поделиться сообщением


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

на самом деле где брать hashrate совершенно не важно. делается это там где удобнее пропарсить данные.

в конфиг программы добавил для примера ZEN с получением hashrate c https://zen.suprnova.cc/

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

за выходные посмотрел время работы каждого майнера, а вот статистики по кол-ву запусков не было (чтобы оценить примерное время простоя, потраченное на перезапуск майнеров). в версии 0.24 добавил

Поделиться сообщением


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

В 0.24 строка стала длиннее в окне программы и переносится на следующую. Нужен лог чтоб если комп перезапустился то можно было бы посмотреть как работало.

Поделиться сообщением


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

@MegBegb исправлено в 0.25 версии

 

также добавлены переключатели --dir, --log и --rig

Переключатель --dir заставит HRM искать конфигурационный файл в указанной директории (по умолчанию это директория где находится hrm.exe)

  • hrm.exe --run --cfg:my.cfg --dir:\\WORKSTATION\SharedFolder

Это можно использовать для указания общего конфигурационного файла для нескольких ригов

 

Переключатель --log заставит HRM создавать лог файл в директории указанной в --dir. Если конфигурационный файл один на несколько ригов, то для того, чтобы для каждой работающей копии HRM создавался собственный log файл необходимо использовать переключатель --rig:RIGID, например:

  • команда запуска на первом компьютере:
    hrm.exe --run --cfg:my.cfg --dir:\\WORKSTATION\SharedFolder --log --rig:1
  • команда запуска на втором компьютере:
    hrm.exe --run --cfg:my.cfg --dir:\\WORKSTATION\SharedFolder --log --rig:2

Будут созданы два log файла:

  • \\WORKSTATION\SharedFolder\my1.txt
  • \\WORKSTATION\SharedFolder\my2.txt

Поделиться сообщением


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

Есть один вопрос для новичков. Собственно я и сам третий день только вникаю в этот процесс. Было отлично, если бы howto был более информативен в плане не просто блоками описать информацию как на скрине, а подписать каждую строку и откуда берется инфа. Лучше тоже на скрине.

Эту прогу бы подружить с найсхешбот-ом. И будет супер идея.

Поделиться сообщением


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

Заинтересован в такой постановке алгоритма расчёта мощности: берётся текущий хешрейт с ВТМ,например, того же зен за константу, коэффициенты ставишь вручную к другим форкам на этом алго и прога сама щёлкает при достижении пороговых значений. Такое возможно? 

Изменено пользователем Zetto

Поделиться сообщением


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

напр. хешрейт зкеш 100х, зен 10х, зкл 1х грубо так

с воттумайна берётся значение хешрейта и называется неким К. Сам вручную ставишь отношение К между форками с помощью коэффициетов.

Изменено пользователем Zetto

Поделиться сообщением


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

Все равно не улавливаю логику пересчелкивания и пересчета хешрейта Зека через коэфицент в хэшрейт ETC, к примеру :(

Логика в программе сейчас такая. По ВТМ для каждой монеты выбирается требуемые HR (например, при которых у монет 120% мгновенная профитность). Коэфиценты она высчитывает в процентах сама. Майнится будет та монета у которой отклонение от указанного хэшрейта минимальное, т.е. наиболее прибыльная и предпочтительная для майнинга. Понижение или повышение {hrlimit} для монет пересчитает коэфиценты и изменит логику перехода с монеты на монету.

 

точнее не минимальное, а НАИМЕНЬШЕЕ

например, если ETC от порогового  7500000000000 снизился на -30% и стал 5250000000000 (а такое быает, я мониторю) то его просто необходимо майнить в это время.

Изменено пользователем Serzh Black

Поделиться сообщением


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

Представьте что вы оперируете в рамках одного алгоритма. С воттумайна взяли хешрейт мм, зкеша. Составляете простую табличку:
ZEC=K
ZEN=0.1K
ZCL=0.01K
BITCOINZ=0.01K
И пляшете от этих отправных точек.

Поделиться сообщением


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

так получается теже проценты, только мудренее ) ведь писать ZEC = 317.17; ZEN = 23.77; ведь проще чем ZEN = 23.77*ZEC/317.17 ;)

Изменено пользователем Serzh Black

Поделиться сообщением


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

Если нужно понизить приоритет монеты, то нужно понизить {hrlimit}, тогда она будет включаться реже. Если переборщить, то может не включиться никогда. у меня так майнится сумо. если HR понижается меньше 1,4, то запускается майнинг. Майнер работает не долго и запускается не часто, но зато со 140% профитностью еще по старому биржевому курсу.

 

И да, повторюсь, данные с ВТМ лучше не использовать. Тот же сумо редко попадает в топ, тем не менее просадки хэшрейта у него случаются. ALTCOM часто в топе по мгновенной профитности, но среднесуточная меньше 96%, однако мне удается майнить ее по, примерно, 0,25 монеты с карты в сутки в то время как ETC майнится бОльшую часть времени.

Изменено пользователем Serzh Black

Поделиться сообщением


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

Добавил веб-сервер для мониторинга работы HRM

Для того чтобы HRMServer был запущен вместе с HRM необходимо использовать переключатель --server, например

  • hrm.exe --run --cfg:my.cfg --dir:\\WORKSTATION\SharedFolder --log --rig:1 --server

В указанном выше примере будет запущен HRMServer для мониторинга всех логфайлов и изменения всех конфигурационных файлов в директории \\WORKSTATION\SharedFolder. Если логфайл не изменялся более 3 минут, то он будет помечен красным фоном, что будет указывать на то, что процесс HRM, по все видимости, был остановлен.

 

В случае когда запущено 5 процессов HRM, использующих два общих конфигурационных файла, окно HRMServer в браузере выглядит так (процесс HRM с "--rig:_2", использующий cfg файл hrm.cfg помер 18 минут назад)

image.thumb.png.fd126a426af6f81c9304af0bf3c0eb3f.png

 

клик по конфигурационному файлу - перейти в режим его изменения

клик по логфайлу - просмотр лога

 

Изменено пользователем Serzh Black

Поделиться сообщением


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

можете посвятить по формулам?

 

До меня не совсем понятно как считается current profitability. И тем более причем тут хэшрейт. Хотя я могу понять, что если HR снижается сильно, то блок считаться достигаться реже и награда будет более рваной, и тут еще зависит от механизма расчета награды пулом.

 

Профит должен зависеть от сложности и обменных курсов.  Я понимаю, что сложность считается по  HR, но она фиксируется. 

 

В общем, можете накидать формул? с принципами расчета..

Изменено пользователем linkod

Поделиться сообщением


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

@linkod это очень простые вопросы )))

1. Текущий профит это профит за сутки если бы текущая мгновенная мощности сети была бы неизменной втечение 24 часов. Профит в монетах. Для получения баксов умножаем на биржевой курс

2. Профит в монетах рассчитывается по формуле 

(BR*Pe*86400)/(Pn*BT)

Br награда за блок

Pn мощность (HR) сети

Pe мощность вашего оборудования 

BT время нахождения блока в секундах

86400 количество секунд в 24 часах 

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

Поделиться сообщением


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

В программе есть недокументированные возможности. Одной из них является переключатель --savestat. Если он указан, то для всех монет, у которых {skip} не равен true программа создает csv файлы пригодные для анализа в Excel. Формат данных в файле следующий:

дата; hrlimit; полученный_hr; отклонение_hr; воттумайновский_hr; биржевой_курс

 

Например, график мониторинга сети ETC чуть более чем за сутки получается такой:

image.thumb.png.dbb9f26eaa41966b33ae8d86197b1216.png

малиновый график - реальный HR полученный здесь: https://api-etc.ethermine.org/networkStats

желтый график - HR WTM

синяя линия - установленный hrlimit в 7.5 Th/s при котором майнинг приносит больше чем усредненные 0.0784 монеты в сутки с карты по WTM

 

Altcommunity (реальный HR с https://altcom.blockstats.pw/ext/summary):

image.thumb.png.4608c5e5c0cb6b244d4b2f8f16c651ae.png

 

ZEC (HR с https://api-zcash.flypool.org/networkStats):

image.thumb.png.ee2f4d459e603c40abe995937ad7da94.png

 

И сибирский червонец (http://sib.miningclub.info/global_stats), который не давал мне покоя зависаниями в топе WTM со своей 400% доходностью при HR 11 Gh/s

image.thumb.png.d0cc8e6bfcec2a0b4e8fbffdc9073bdc.png

В целом, такие просадки есть, но очень кратковременные. с чем это связанно, не могу сказать. В принципе, если поднять планку до 20 Gh/s, то штук десять ~пятнадцатиминутных окон для майнинга получить удастся.

 

 

 

 

Поделиться сообщением


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

И еще немного статистики с одной 1066 карты

 

HRM работает почти 30 часов:

image.thumb.png.f33e8912faef227e062360adb967154d.png

 

К концу дня выплаты в Altcom составят 0,55 монеты (1.7USD), что уже больше чем усредненные за сутки 0.4671 по WTM

image.thumb.png.e912a39a344bd10d7f0afe1807976d02.png

 

Однако, еще работал ETC майнер, который по статистике пула приносит 0,35USD в день:

image.png.33173c4dc972f2d1d48059fd58f0f9ad.png

 

итого ~два бакса с карты по текущим биржевым курсам не считая SUMO, который майнился всего 10 минут и помог майнеру работающему на VDS по быстрому добить баланс до минимального к выплате на пуле

 

 

 

Изменено пользователем Serzh Black

Поделиться сообщением


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

Вопрос созрел. Время блока = сложность/хешрейт

 

Т.е. При увеличении или уменьшении хешрейта изменяется время нахождения блока, что говорит, о константе в знаменателе и замене на сложность в качестве константы.

 

Соответственно,  где зависимость от изменения хешрейта? 2 дня уже голову ломаю в перерывах между работой )))

Изменено пользователем linkod

Поделиться сообщением


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

ответ в том, что сеть меняет сложность на определенное кол-во X будущих блоков. т.е. если среднее время нахождения блока из уже найденных X блоков из-за уменьшения мощности уменьшилось, то, чтобы оставаться в рамках установленного BT сложность на следующие X блоков увеличится. и наоборот. как я и писал ранее в этой теме, hashrate - первоисточник для вычисления сложности. График сложности, из-за усреднения по X блокам, получается более "меандроподобный".

 

ваша формула с математической точки зрения верна, для получения BT, но, изначально используется такая, для получения сложности: сложность на следующие X блоков = усредненная мощность при нахождении предыдущих X блоков * время на нахождение блока, заданное сетью.

 

вобщем, BT, конечно же меняется, но для того и введено понятие сложности, чтобы оставлять BT на определенном сетью значении

 

и еще, чтобы стала понятнее.

посмотрите на графики раз и два

Изменено пользователем Serzh Black

Поделиться сообщением


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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   1 пользователь

×