Jump to content
Serzh Black

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

Recommended Posts

на самом деле да. т.к. опять возникает необходимость где-то снаружи хранить данные. есть у меня идея по поводу --getby. Уже запустил для теста. посмотрим. ЗЫ: что вы берете через IE? неужели нет другого источника?

Share this post


Link to post
Share on other sites
41 минуту назад, Serzh Black сказал:

возникает необходимость где-то снаружи хранить данные.

Странная проблема. У HRM все хранится снаружи: конфиги, логи, батники, плагины. Что мешает добавить еще один файл с отметкой времени, и считывать его один раз при запуске программы. Если боитесь, что таким образом можно будет обойти devfee - храните timestamp в зашифрованном виде.

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

Share this post


Link to post
Share on other sites

@5alex хорошо. с --getby:ie чтонть решу.

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

посмотрите на скриншоты. на первом майнится нижняя монета, у которой профит + HD выше чем у предпоследней. А у первой монеты профит намерянно понижен с 49 до 30%. скрин 2: Если hrlimit установить в, скажем 0.1, то ее профит станет 122% и, естественно, она будет майниться. Для ограничения профита по всем монетам есть VAR{LT}. см. скрин 3. но нем профит монеты 122% но она на паузе потому что VAR{LT} = 0.2

 

 

hrlimit 0.4

image.thumb.png.b4d6070223274b5d3d405c18f94d74dd.png

 

hrlimit 0.1

image.thumb.png.0c83be2504c24d58435f9e1ad226160b.png

 

hrlimit 0.1 VAR{LT} 0.2 - монета на паузе. не майнится

image.thumb.png.903c39802a8490e1ba1f2619981a4593.png

Edited by Serzh Black

Share this post


Link to post
Share on other sites
15 часов назад, Serzh Black сказал:

чудеса. пришлите папку и имя батника, которые НЕ работали. я проверю.

Чудеса - это не то слово)) сейчас напишу в личку.

 

UPD. Вопрос решился. Как и следовало ожидать, никаких чудес, просто моя невнимательность. Именно те файлы которые не запускались имели расширение .cmd, при этом Win присваивает им такой же значок как и .bat. Что и послужило причиной досадного инцидента))

Edited by Morrowind

Share this post


Link to post
Share on other sites

 

@5alex с мыслью надо было переспать ) пожалуй вы правы. hrlimit стоит переделать

Share this post


Link to post
Share on other sites

Исправил {hrlimit}. Теперь это аналог $VAR{LT}, но индивидуальный для монеты\алгоритма.

Если профит монеты меньше {hrlimit}, то монета ставится на паузу, исключается из майнинга и в списке монет помечается собакой @

Share this post


Link to post
Share on other sites

Премного благодарен! ))

Share this post


Link to post
Share on other sites

@5alex а вот с --getby затык. сначала два раза подряд ошибка. потом ночь отработало и хоть бы что.

Share this post


Link to post
Share on other sites

Тем временем сервер принимает вот такой вид. в нем можно:

  1. редактировать конфигурационные файлы
  2. увидеть на каких компах HRM работает (зеленые) или нет (красные)
  3. посмотреть и удалить логи
  4. убить\запустить HRM или майнер
  5. перезагрузить риг
  6. посмотреть статистику ccminer

Главное окно

 

image.thumb.png.ecb2171ec1720aba0e80432d1462694b.png

 

Редактирование конфига

 

image.thumb.png.38fe7bac6597afd147fe72155ccb6464.png

 

Статистика ccminer

 

image.thumb.png.c9a0e34fb9c90c39f738dd5787af27de.png

 

 

 

Share this post


Link to post
Share on other sites

Вопрос на засыпку :) Как разделить директорию с конфигами от директории с CSV файлами?

 

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

 

Сейчас так:

 

hrm.exe --cfg:Hashrate.cfg --dir:D:\HRM\Config --rig:Test --nowindows --savestat

 

Хотелось бы так, но не канает :(

 

hrm.exe --cfg:D:\HRM\Config\Hashrate.cfg --dir:D:\HRM\Savestat --rig:Test --nowindows --savestat

 

Edited by Riva

Share this post


Link to post
Share on other sites

@Riva надо использовать относительные пути

hrm.exe --cfg:../cfgs/Hashrate.cfg --dir:D:\HRM\Config --rig:Test --nowindows --savestat

будет искать конфиг Hashrate.cfg в D:\HRM\cfgs

Share this post


Link to post
Share on other sites
15 минут назад, Serzh Black сказал:

@Riva надо использовать относительные пути

 

Щас вообще фигня выходит. 

 

Так работает

hrm.exe --cfg:Hashrate.cfg --dir:D:\HRM\Config --rig:Test --nowindows --savestat 

 

А по вашему нет

hrm.exe --cfg:../cfgs/Hashrate.cfg --dir:D:\HRM\Config --rig:Test --nowindows --savestat

 

image.thumb.png.2a868e9c11d30ea2fc2eed5a7930a73b.png

 

Edited by Riva

Share this post


Link to post
Share on other sites

я на 100% уверен что папку cfgs вы создали и конфиг туда перенесли

Share this post


Link to post
Share on other sites
8 минут назад, Serzh Black сказал:

я на 100% уверен что папку cfgs вы создали и конфиг туда перенесли

 

С хочу лишь отделить logs, savestat и configs по разным папкам

 

image.thumb.png.e1b439e672e9ef6301314d7497e63982.png

Share this post


Link to post
Share on other sites

не разделяется ((

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

но вынести конфиг можно попробовать используя относительный путь в имени файла.

на этих скриншотах нет той папки в которой HRM ищет конфиг.

Share this post


Link to post
Share on other sites

А можно как-то прописать конвертацию? Если монеты торгуются к юаню, а нужно как-то конвертировать в BTC?

Share this post


Link to post
Share on other sites
28 минут назад, Serzh Black сказал:

не разделяется ((

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

но вынести конфиг можно попробовать используя относительный путь в имени файла.

на этих скриншотах нет той папки в которой HRM ищет конфиг.

 

Я пробовал cfgs создать и кинуть конфиги туда, прога их не увидела. Жаль, просто всё в куче получается.

 

Ещё вопрос. Где взять правильные формулы для разных алгоритмов?

 

Вот на эквихеш, хотя для zen она не подходит

$CStat{$c}{hr} = $CStat{$c}{hr}*8192/$CStat{$c}{bt};

 

Приходится в конце $CStat{$c}{rate} = $CStat{$c}{rate}/10;  писать чтоб на правду по цифрам было похоже

 

Вот ещё на остальные (кроме дагер хашимото), тогда какая правильная под эфир?

$CStat{$c}{hr} = $CStat{$c}{hr}*0x100000000/$CStat{$c}{bt};

 

На алгоритм Skein и PHI1612 вообще бред пишет, это говорит о том что формула не правильная

В итоге  $CStat{$c}{rate} = $CStat{$c}{rate}*1000; 

 

Вообщем костыли делаю.

 

Вот на крине чётко видно что ZEN и XVG явно неверно считает. Кидаю в личку конфиг.

image.thumb.png.fd91a36973891d5708cf6192f6bd284e.png

Edited by Riva

Share this post


Link to post
Share on other sites

@Kebal4 можно. сам недавно смотрел на монеты, правда японские. не понял что к чему. ушел. но если есть курс и\или есть откуда брать, то можно.

@Riva я отказываюсь ваши конфиги анализировать. у вас профит по x17 ноль целых хрен десятых, а на других 0.025 битка. правда ваша: костыли

формулы я знаю следующие и обо всех писал:

эквихэш $CStat{$c}{hr} = $CStat{$c}{hr}*8192/$CStat{$c}{bt};

хашимото $CStat{$c}{hr} = $CStat{$c}{hr}*1/$CStat{$c}{bt};

скейн и другие: $CStat{$c}{hr} = $CStat{$c}{hr}*0x100000000/$CStat{$c}{bt};

когда чтото не сходится: 1 ) гуглю 2) или беру чтото типа http://whattomine.com/coins/114.json хэшрейт умножаю на блоктайм и получаю сложность без коэффициента. делю получившуюся сложность на ту что рисует WTM и получаю коэффициент. для скейна это будет 4294967296 что есть 2 в 32 степени или 0x100000000. проверьте. даже десятичной точки не будет

Edited by Serzh Black

Share this post


Link to post
Share on other sites

Спасибо, буду разбераться

Edited by Riva

Share this post


Link to post
Share on other sites

@Riva по verge. getmininginfo выдает следующее

{
"blocks" : 1912303,
"currentblocksize" : 0,
"currentblocktx" : 0,
"pow_algo_id" : 0,
"pow_algo" : "scrypt",
"difficulty" : 117914.06105864,
"difficulty_x17" : 10339.61852074,
"difficulty_scrypt" : 117914.06105864,
"difficulty_groestl" : 611825.70902001,
"difficulty_lyra2re" : 53260.19047619,
"difficulty_blake" : 7945245.48040236,
"errors" : "",
"generate" : false,
"genproclimit" : -1,
"hashespersec" : 0,
"pooledtx" : 0,
"testnet" : false
}

полагаю, вы должны использовать сложность того алгоритма, который используете в расчетах. не спрашивайте на каком пуле это можно пропарсить)

Edited by Serzh Black

Share this post


Link to post
Share on other sites

Подскажите как вытянуть сложность определенной монеты с http://bsod.pw. Можно для примера хоть одну. Эксплорера у нее нет.

Edited by Kebal4

Share this post


Link to post
Share on other sites

@Kebal4 если эксплорера нет, то никак. контент страниц у yiimp формируется ява скриптом. можно былоб отсюда взять http://bsod.pw/site/mining_results но оно вернет алгоритм на основе куки, которые HRM не устанавливает и не хранит. по умолчанию будет scrypt

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

 

делается так, например

 

	'hrurl'       => 'http://bsod.pw/explorer/BWK',
	'hrregexp'    => '<tr class="ssrow"><td>.+?</td><td>.+?</td><td>(\d+\.\d+)</td>',

но лучше всетаки брать сложность с официального блокэксплорера монеты

Share this post


Link to post
Share on other sites

Рекомендую добавить в конфиг вот такую фиктивную монету.

 

'ZZZ' =>
{
	'wtmname'     => 'ZZZ',
	'minerdir'    => '',
	'minerexe'    => '',
	# вместо URL можно указать полный путь к любому файлу
	'hrurl'       => 'http://www.ru',
	'hrregexp'    => '(.*)',
	'eval'        => 'my ($algo, $diff, $bt, $br, $rate) = (neoscrypt, 1457.173, 158, 7.5, 1);             $CStat{$c}{algo} = $algo; $CStat{$c}{bt} = $bt; $CStat{$c}{br} = $br; $CStat{$c}{hr} = $diff*0x100000000/$CStat{$c}{bt}; $rate /= 1000 if $rate == 1; $CStat{$c}{rate} = $rate;',
	'skip'        => 'true',
},

 

Часто в первые дни после старта новой монеты необходимо оценить сколько монет принесет майнинг и стоит ли вообще начинать.

 

Указываем алгоритм, сложность, время блока, награду за блок и курс. меняем skip на monitor и HRM вычислит:

  1. сколько монет в день на указанной сложности принесет майнинг (если $rate = 1)
  2. если $rate не равен 1, то считается что задан курс монеты в BTC и HRM вычислит профит в mBTC

если необходимо, то правим формулу пересчета HR в diff (для ethash и equihash). предварительно можете проверить правильность расчетов на любой монете с WTM с указанным алгоритмом

 

Edited by Serzh Black

Share this post


Link to post
Share on other sites

У BSOD есть API, но если прописать

 

    'hrurl'            => 'http://api.bsod.pw/api/currencies',
    'hrregexp'    => '"SPD":{"algo":"c11",.+?"difficulty":(\d+\.\d+),.+?"SPD"}',

 

то ругается на кавычку

 

Share this post


Link to post
Share on other sites

не на кавычку

экранируйте { и }

'hrregexp'    => '"SPD":\{"algo":"c11",.+?"difficulty":(\d+\.\d+),.+?"SPD"\}',

Share this post


Link to post
Share on other sites