Утилита для расчета прибыльности майнинга монет на пулах и отображения API-данных с пулов в удобной форме, такие как по балансы монет, скорости воркеров, сборы пулов, информация по биржевым курсам и динамике.
Работает со следующими группами пулов:
1) данные прибыльности предоставляет сам пул: “Nicehash”, “Nanopool”, "все YIIMP и YAAMP-подобные", "Coin-Miners", “MiningPoolHub”.
2) расчет прибыльности происходит на базе данных с портала Whattomine и работает для следующих пулов “CoinMine.pl”, ”Suprnova.cc”,"Miningfield.com, "AikaPool", "Luckpool", "Ethermine”&”Flypool”, “TheBlockFactory”, “GiveMeCoins”, “Dwarfpool”, “Coinotron”.
3) расчет прибыльности на базе Whattomine для двойной добычи монет “DualMining” для майнеров Claymore для любых пулов.
MС работает с любыми комбинациями пулов и на любом оборудовании (AMD, Nvidia, CPU) из-под Windows.
В файле базовой конфигурации меняется Account либо Wallet на свои, также ApiKey и UserID, если нужны данные по балансу и скоростям.
Конфигурация состоит из нескольких разделов:
раздел "general" - глобальные настройки для приложения
"power": 0.00, //Стоимость КВт/ч в используемой валюте
"exchange": 2000, //Примерная цена Bitcoin в используемой валюте для расчета затрат на электроэнергию (только если не удается загрузить данные по курсу)
"currencycode": "USD", //аббревиатура используемой валюты (USD, EUR, RUB), общий баланс и затраты пересчитываются в соответствии с указанной валютой
"startdelay":10, //Задержка запуска майнера в секундах для режима автостарта, для получения данных с пулов (по умолчанию 0)
"mintime": 1, //Минимально допустимое время для работы майнера в минутах после переключения алгоритма
"maxtime": 30, //Максимально допустимое время для работы майнера в минутах после переключения алгоритма и до режима перезапуска
"switchtime": 1, //Время в минутах, в течение которого текущая позиция не должна быть лучшей по прибыльности, чтобы произошло переключение на более топовую.
"delay": 3, // Задержка запуска майнера в секундах после переключения. Быстрый запуск/остановка майнера могут приводить к нестабильности видеодрайверов.
"exittime": 0, //Время в минутах, после которого приложение будет закрыто. Значения меньше 1 мин, будут проигнорированы.
"apitimer":5, //периодичность запросов к пулам.
"deadtime": 1, //Время в минутах, в течение которого у позиции будет сохраняться статус “dead” (невозможность майнинга на пуле)
"statwindow": 60, //Время в минутах для сбора и анализа статистики (по умолчанию 60 мин)).
"minprice": "0BTC", // Абсолютная доходность в BTC или в пр. фиатной валюте, с которой запускается майнинг. Используйте добавку "BTC" если желаете использовать BTC, или без добавки для свой валюты.
// По умолчанию 0, если учитываются затраты на электричество, майнинг не будет запускаться при отрицательных значениях заработка.
"minebyaverage": true,// Задействует расчет доходности по средним значениям, вычисляемым по временному диапазону из “statwindow”. Снижает количество переключений из-за колебаний доходности.
"minprofit": 1.1, //Допуск на лучшую доходность. Лучшая позиция будет в статусе ожидания “pending”, пока ее доходность не превысит доходность текущей позиции в указанное количество раз.
"dynamicswitching": true, // Уменьшает время переключения, пропорционально величине доходности лучшей позиции над текущей.
"dynamicswitchpower": 2, // dynamicswitchpower, dynamicswitchpivot, dynamicswitchoffset Переменные для расчета динамического переключения (по умолчанию 2, 1.05, none)
// Dynamic switchtime = ("switchtime" / ((best entry price / currently running price) ^ "dynamicswitchpower")) + "dynamicswitchingoffset"
//Где"dynamicswitchoffset" по умолчанию: "switchtime" - ("switchtime" * (1/"dynamicswitchpivot") ^ "dynamicswitchpower)).
"ignoreoutliers": false, // игнорирует алгоритмы с завышенной доходностью (outlier), исходя из анализа “statwindow” и локальных переменных, не работает при активном "minebyaverage".
"iqrmultiplier": 2.2, //позиция получает статус outlier если доходность выше средней в указанное число раз.
"showhistory": true, // Активирует вкладку «History» с графиками
"logerrors": false, //Пишет ошибки в файл 'error.log'
"logactivity": true, //Пишет все действия приложения в файл 'activity.log'
"gridsortmode": 2, // режим сортировки позиций 0 = без сортировки, 1 = только в режиме «авто», 2 = по возрастанию после обновления данных (по умолчанию 1)
"minerkillmode": 1, //режим остановки майнера 0 = остановка единичного процесса, 1 = остановка дерева процессов (по умолчанию 1)
"traymode": 0, //режим окна 0 = полнооконный, 1 = сворачивать в трей и прятать майнер после запуска, 2 = сворачивать в трей и запускать майнер в свернутом окне.
"donationfrequency ": 60, //Частота в минутах для режима «доната» (по умолчанию 60 мин).
"checkconnection":false, //Пингуется google.com. Если нет соединения, ожидает, не запуская майнер.
"usewindow": true, //если активен, запускает майнер в отдельном окне, иначе запускается во вкладке консоли.
"coloring":true, //добавляет цветовое оформление для динамики и статусов
"showinactive":true, //отображение отключенных конфиге позиций для информации.
"minidleseconds":60, //время простоя в секундах для запуска майнинга в простое
"wtmurl": "http://whattomine.com/coins.json", // ссылка на данные Whattomine, можно изменить через анонимайзер,
"avgspeedticks":10, //число тиков для учета средних скоростей
"dynoffset":10, //допуск для изменения динамики и получения статусов “pumping”/”dumping”
"remotesend": false, отправка данных консоли удаленному отправителю (по умолчанию false)
"remotereceive": false, отправка данных консоли удаленному получателю (по умолчанию false)
"minerfolderpath": "MinerControl" // расположение майнеров 3 варианта:
// - абсолютный путь к папке с майнерами, например, "C:\\Miners\\Nvidia";
// - Значение "MinerControl". Подставляется путь до "MinerControl.exe";
// - Пусто. Относительный путь.
// Структура пути к майнерам: MinerFolderPath \APARAM1 \ APARAM2
"genworker": "1070", // генеральный воркер. Используется, если если не прописан на уровне пула.
"hidecolumngr1": false, //прячет группу столбцов "Price", "PowerCost", "Fees"
"hidecolumngr2": false, // прячет группу столбцов "RejectSpeed", "TopAvgSp", "AcSpWrk", "MU", "PoolFee"
//следующие параметры влияют на отображение соответствующего столбика
"service" : true,
"algo" : true,
"coin" : true,
"exname": true,
"remark": true,
"dynamics" : true,
"hashrate" : true,
"acspwrk" : true,
"topavgsp" : true,
"mu" : true,
"poolfee" : true,
"price" : true,
"earn" : true,
"fees" : true,
"powercost" : true,
"netearn" : true,
"netavgearn" : true,
"netcurrency" : true,
"exrate" : true,
"balancebtc" : true,
"balancecoin" : true,
"pendingcoin" : true,
"acceptspeed" : true,
"rejectspeed": true,
"updated":true,
"workers":true,
// параметры для установки габаритов главного окна в пикселах
"width": 1684,
"height": 616,
раздел "algorithms", в котором прописаны используемые алгоритмы, скорость оборудования, расход электричества, путь к майнеру и параметры его запуска.
{"name":"lyra2v2"//имя алгоритма для увязки с пулом ,
"display":"Lyra2REv2"//отображаемое имя в столбце "Algo",
"hashrate":39000// скорость оборудования на алгоритме в KH/s,
"mu":"kH/s"//единицы скорости,
"power":50// потребляемая мощность в ваттах,
"aparam1":"Miners\\Nvidia\\Ccminer\\Nanashi"//путь к папке с майнером,
"aparam2":"ccminer_nanashi.exe"//исп. файл майнера,
"aparam3":"-r 2 -a lyra2v2 -o"// параметры запуска},
сервисный раздел на каждый пул, где прописывается параметры монеты/алгоритма, адрес пула, порта, аккаунт/кошелек, воркер, пароль.
},"MiningPoolHub"://имя пула жестко закодировано, менять нельзя
{//параметры для работы с пулом
"poolenabled":true,// включает/отключает пул целиком
"account":"YOUR_ACCOUNT",//имя учетной записи на пуле
"worker":"YOUR POOL WORKER NAME",//имя воркера на пуле
"worker":"1070",//название воркера на пуле
"apikey":"YOUR_APIKEY",//ключ API на пуле для получения персональной статистики
"userid":"YOUR_USERID",//ключ USER на пуле для получения персональной статистики
"getpooldata":true,// включает/отключает работу с API пула (баланс, общ. скорость, скорость воркера) совместно
"nobalance":false,//включает/отключает баланс на пуле
"nospeed":false,//включает/отключает принятую скорость на пуле
"nospeedworker":false,//включает/отключает принятую скорость по каждому воркеру
"autofee":true,//включает/отключает загрузку размера сборов пула
"weight":1.0,//приоритет пула по сравнении с другими из конфигурации
"minprofit":1,//Допуск на лучшую доходность пула. Лучший пул будет в статусе ожидания “pending”, пока его доходность не превысит доходность текущего пула в указанное количество раз.
"btcfee":0.2,//сбор пула за конвертацию в BTC
"sparam1":"hub.miningpoolhub.com",//подменный параметр, который заменяет все "SPARAM1"
"sparam2":"-p 123",//подменный параметр, который заменяет все "SPARAM2"
"sparam3":"stratum+tcp://",//подменный параметр, который заменяет все "SPARAM3"
"algos"://параметры конкретных монет на пуле [
{"active":true,//включает/отключает конкретную позицию
"cname":"zcash",//имя монеты
"algo":"equihash",//алгоритм монеты
"tag":"zec",//ярлык монеты
"wallet":"YOU_COIN_WALLET",//если майнинг идет на кошелек
"exchange":"ExchangeName",//название биржи с которого берется курс обмена
"exrate":0.001//курс, введенный вручную
"price":0.02//доходность введенная вручную
"cweight":1,//множитель доходности монеты (можно корректировать приоритет или масштаб хешрейта)
"fee":0.9,//сбор пула
"priceid":185,//для пулов с данными Whattomine, если монеты нет в основном списке портала, можно загрузить отдельно.
//PriceId соответсвует номеру монеты на WTM (тут 185-Zencash) http://whattomine.com/coins/185.json
"arguments":"_APARAM3_ --server _SPARAM1_ --port 20570 --user _ACCOUNT_._WORKER_ --pass x",//аргументы запуска конкретной монеты
"usewindow": true//использовать ли отдельное окно или консоль
},
Для строк монет могут использоваться специальные подменные параметры
_STRATUM_ меняется на "stratum" из шапки пула
_SPARAM1_ меняется на "sparam1" из шапки пула
_SPARAM2_ меняется на "sparam2" из шапки пула
_SPARAM3_ меняется на "sparam2" из шапки пула
_ACCOUNT_ меняется на "account" из шапки пула
_WORKER_ меняется на "worker" из шапки пула, при отсутствии его на "genworker" из конфига
_APARAM1_ меняется на "aparam1" из конфига алгоритмов
_APARAM2_ меняется на "aparam2" из конфига алгоритмов
_APARAM3_ меняется на "aparam2" из конфига алгоритмов
_GPU_ меняется на "activegpu" из конфига настроек
_ALGO_ меняется на "algo" из строки монеты
_WALLET_ меняется на "wallet" из строки монеты
_TAG_ меняется на "tag" из строки монеты
_COINNAME_ меняется на "coin" из строки монеты
_TCP_ меняюемся на "stratum+tcp://
_SSL_ меняется на "stratum+tls://
Пример {"active": true,"wallet": "BTC","algo": "Lbry","tag": "LBRY","poolscale": "M","fee": 1.0,"cweight": 1.0,"folder": "_APARAM1_","command": "_APARAM2_","arguments": "_APARAM3_ _TCP__STRATUM_:3334 -u _WALLET_ -p _WORKER_,c=_TAG_","usewindow": true,"created": "13.03.2018"},
Кошельки могут быть, по желанию, вынесены в отдельный раздел
{"tag":"xlr","wallet":"YOUR_WALLET","exchange":"ExchangeName"},
{"tag":"music","wallet":"YOUR_WALLET","exchange":"ExchangeName"},
{"tag":"ubiq","wallet":"YOUR_WALLET","exchange":"ExchangeName"},
{"tag":"zec","wallet":"YOUR_WALLET","exchange":"ExchangeName"},
{"tag":"zcl","wallet":"YOUR_WALLET","exchange":"ExchangeName"},
{"tag":"hush","wallet":"YOUR_WALLET","exchange":"ExchangeName"},
{"tag":"zen","wallet":"YOUR_WALLET","exchange":"ExchangeName"},
{"tag":"eth","wallet":"YOUR_WALLET","exchange":"ExchangeName"},
{"tag":"etc","wallet":"YOUR_WALLET","exchange":"ExchangeName"},
{"tag":"exp","wallet":"YOUR_WALLET","exchange":"ExchangeName"},
{"tag":"btc","wallet":"YOUR_WALLET","exchange":"ExchangeName"}
тогда на уровне каждой монеты в пуле указывается не номер кошелька, а таг монеты
общая{"active":true,"wallet":"tXXXXXXXXXXXXX","cname":"zcash","tag":"zec","algo":"equihash","folder":"_APARAM1_","cweight":1,"fee":1,"command":"_APARAM2_","arguments":"_APARAM3_ --server _SPARAM2_ --port 3357 --user _ACCOUNT_._WORKER_ --pass x","usewindow": true},
подстановка кошелька{"active":true,"wallet":"zec","cname":"zcash","tag":"zec","algo":"equihash","folder":"_APARAM1_","cweight":1,"fee":1,"command":"_APARAM2_","arguments":"_APARAM3_ --server _SPARAM2_ --port 3357 --user _ACCOUNT_._WORKER_ --pass x","usewindow": true},
При запуске данные разделов комбинируются, и в консоли вы видите аналог .bat файла, как если бы запустили его из командной строки.
При наличии более прибыльной монеты, предыдущий процесс завершается и запускается новый для наиболее прибыльного алгоритма.
Основное правило для начала работы, во вкладке "консоль" вы должны увидеть строку с параметрами, аналогичными запуску обычного bat-файла.
Если чего-то не хватает - проверять файл конфигурации на полноту данных (см. ссылки проверка конфига на ошибки)
Ссылки на скачивание: https://drive.google.com/open?id=1U0myD ... EevRYx8Ytv
обсуждение на bitcointalk
https://bitcointalk.org/index.php?topic ... msg8669925
проверка конфига на ошибки
http://xn----8sbafhan2a8abjbbh0aefsk.xn ... onfig.html
https://jsonlint.com
Полезные советы:
1) При смене майнера часто происходят вылеты драйвера из-за повышения частоты памяти на 200мгц, решается так:
качаем nvidiaProfileInspector, например https://drive.google.com/open?id=1gFVk2 ... ydhTgX7vAS_
Находим строчку в 5 разделе "common": CUDA_FORCE_P2_STATE по дефолту ON, меняем на OFF.
Теперь дефолтные частоты всегда будут +200мгц, не забываем скорректировать настройки программ для разгона.
--------------------------------------------------------------------------------------------------------------------------------
2) На фермах с большим числом карт при перезапуске майнера не все карты могут стартовать успешно.
Пробуем параметр --cuda-schedule 0 в аргументах майнера.
--------------------------------------------------------------------------------------------------------------------------------
3) При нехватке каких-либо .dll при запуске майнеров необходимо установить Visual C++ Runtime
Скачать с оф сайта
https://www.microsoft.com/ru-ru/downloa ... x?id=53840