Автор Тема: Miner Control  (Прочитано 131 раз)

Оффлайн MinerC

  • Newbie
  • *
  • Сообщений: 1
  • Karma: +0/-0
    • Просмотр профиля
Miner Control
« : Май 27, 2018, 12:57:54 pm »
Утилита для расчета прибыльности майнинга монет на пулах и отображения 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-файла.
 
Если чего-то не хватает - проверять файл конфигурации на полноту данных (см. ссылки проверка конфига на ошибки)
 

--------------------------------------------------------------------------------------------------------------------------------

Ссылки на скачивание:

Link1: https://mega.nz/#!7mxUFBzR!cdHMRl0TJXpRzkuOD2HXVd6jqtTZzw_R88ZkQeWTMBQ

--------------------------------------------------------------------------------------------------------------------------------

Исходный код выложен в Visual Studio Team Services

Логин для авторизации: mc_developer@outlook.com

Пароль: Minercontrol
--------------------------------------------------------------------------------------------------------------------------------
Полезные советы:
--------------------------------------------------------------------------------------------------------------------------------
1) При смене майнера часто происходят вылеты драйвера из-за повышения частоты памяти на 200мгц, решается так:

качаем nvidiaProfileInspector, например из этого поста
https://forum.bits.media/index.php?/topic/36822-miner-control/?p=737497

 

Находим строчку в 5 разделе "common": CUDA_FORCE_P2_STATE по дефолту ON, меняем на OFF.

Теперь дефолтные частоты всегда будут +200мгц, не забываем скорректировать настройки программ для разгона.
--------------------------------------------------------------------------------------------------------------------------------
2) На фермах с большим числом карт при перезапуске майнера не все карты могут стартовать успешно.
Пробуем параметр --cuda-schedule 0 в аргументах майнера.

--------------------------------------------------------------------------------------------------------------------------------
3) При нехватке каких-либо .dll при запуске майнеров необходимо установить Visual C++ Runtime
Скачать с оф сайта https://www.microsoft.com/ru-ru/download/details.aspx?id=53840
--------------------------------------------------------------------------------------------------------------------------------


 

 

Яндекс.Метрика