Для начала, xmrig — это в первую очередь CPU майнер с открытым исходным кодом для алгоритмов семейства Cryptonight.
На странице релизов проекта нас сегодня будет интересовать последняя версия v2.8.1, в которой добавили новый алгоритм cryptonight_v8, на который переходит криптовалюта Monero с 18 октября 2018 года.
Если после этой даты продолжить на старых версиях манера, то будет получать отклонённые шары, такие:
[2018-10-18 16:13:05] rejected (0/1) diff 40000 "Low difficulty share" (261 ms)
Поэтому для успешного продолжения майнинга монеты Monero (XMR), нам уже необходимо обновить xmrig как минимум до данной последней версии 2.8.1.![Страница релиза xmrig-2.8.1](/files/119/xmrig-2.8.1_github_realease_page.png)
Будем компилировать или берём готовые бинарники?
Так или иначе, а для работы программы нам сначала потребуется установить разделяемую библиотеку libmicrohttpd, иначе при запуске майнера остановимся на ошибке:
./xmrig: error while loading shared libraries: libmicrohttpd.so.12: cannot open shared object file: No such file or directory
Устанавливаем необходимый пакет (этот этап можно пропустить, если вы будете компилировать, а не использовать готовый бинарник):sudo apt-get install libmicrohttpd-dev
Мы имеет два пути для установки xmrig.
Установка xmrig без компиляции, но с неотключаемой комиссией
Теперь у нас есть два варианта: скачать и распаковать уже скомпилированную версию, но она собрана так, что комиссию разработчика (devfee) ниже 1% выставить не получится.
Для получения уже скомпилированной бинарной версии, нам необходимо скачать архив xmrig-2.8.1-xenial-amd64.tar.gz со страницы нового релиза xmrig.
Распакуем архив, и получим папку xmrig-2.8.1 с "готовым" бинарным майнером xmrig:
![Стандартные бинарники от разработчиков xmrig-2.8.1](/files/119/xmrig-2.8.1_dev_binaries.png)
Поскольку я скопировал папку с майнером в домашний каталог, то, если вы сделаете так же, для запуска потребуется, как обычно, указать путь до майнера с нужными параметрами (либо использовать файл конфигурации config.json).
С моими параметрами команда для запуска через терминал будет выглядеть так:
sudo sysctl -w vm.nr_hugepages=128; ~/xmrig-2.8.1/xmrig -a cryptonight -o europe.cryptonight-hub.miningpoolhub.com:20580 -u Subsanek.CPU-l -p x -t 3 --donate-level 1
Видим, что майнер успешно запустился и пул принимает шары, а алгоритм сменился на cn/2 так как на момент теста Monero уже перешла на новый алгоритм CryptoNight variant 2 (cryptonight_v8). Первая команда требуется для активации "huge pages", что увеличит хэшрейт.![Работа стандартного xmrig-2.8.1 бинарника с donate devfee комиссией](/files/119/xmrig-2.8.1_with_fee.png)
Опция --donate-level 1 здесь указана не ради альтруизма, а потому что эта официальная версия скомпилирована так, что минимальная комиссия будет 1%, если же выставить в 0 или вовсе не указать параметр, то "donate" и вовсе по умолчанию станет 5%.
Чтобы получить майнер с нулевой комиссией (devfee/donate-level), следуйте инструкциям по модификации исходников и сборки "собственной версии" майнера ниже.
Как скомпилировать xmrig с отключением комиссии (devfee)
Компиляция же даёт на возможность "кое-что" подправить (автором была предусмотрена такая возможность, так что совесть более-менее чиста). Если захотите, можете выставлять не нулевую комиссию, просто этим методом появится возможность отключить её вовсе.
1. Устанавливаем необходимые для сборки пакеты:
sudo apt-get install git build-essential cmake libuv1-dev libmicrohttpd-dev libssl-dev
2. Всё на той же странице релиза скачиваем исходный код Source code (tar.gz). Сохраняем этот архив в домашний каталог (чтобы без корректировок работали нижние инструкции).Важно! Если вы уже воспользовались первым методом, и имеете папку xmrig-2.8.1 в домашней директории, то следует её переименовать или переместить так как скачанный архив имеет такое же название папки, и будет путаница после разархивации.
3. Распаковываем скачанный архив с исходным кодом:
tar -zxvf xmrig-2.8.1.tar.gz
Теперь в домашнем каталоге у нас появилась папка xmrig-2.8.1 с исходниками xmrig-2.8.1.4. Отключаем минимальную комиссию:
Перед сборкой необходимо открыть в текстовом редакторе следующий файл из исходников xmrig-2.8.1/src/donate.h
На строке 47 заменяем значение
constexpr const int kMinimumDonateLevel = 1;
наconstexpr const int kMinimumDonateLevel = 0;
![Отключение минимальной комиссии, devfee, donate](/files/119/xmrig_soource_donate.h.png)
И не забываем сохранить внесённые изменения!
5. Выполняем последовательность команд для сборки майнера:
Переходим в каталог с исходниками:
cd ~/xmrig-2.8.1
Собираем наш майнер:mkdir build; cd build; cmake ..; make
После успешной сборки бинарный майнер, но уже с возможностью отключения комиссии, будет находится по адресу:~/xmrig-2.8.1/build/xmrig
6.Такое расположение не самое удобное и у нас осталось много ненужных файлов.
Предлагаю удалить лишнее и оставить в домашней директории лишь каталог xmrig-2.8.1 с нашим собранным майнером xmrig внутри (как это было и в варианте с уже собранной версией).
mv ~/xmrig-2.8.1/build/xmrig ~/
rm -rfv ~/xmrig-2.8.1/*
mv ~/xmrig ~/xmrig-2.8.1/xmrig
Готово! Теперь в домашнем каталоге имеем необходимую нам версию xmrig:![Скомпилированный xmrig без комиссии](/files/119/xmrig-2.8.1_compiled_nofee.png)
Запуск xmrig
Поскольку я скопировал папку с майнером в домашний каталог, то, если вы сделаете так же, для запуска потребуется, как обычно, указать путь до майнера с опциями (либо отредактировав файл config.json).
С моими параметрами команда для запуска через терминал будет выглядеть так:
sudo sysctl -w vm.nr_hugepages=128; ~/xmrig-2.8.1/xmrig -a cryptonight -o europe.cryptonight-hub.miningpoolhub.com:20580 -u Subsanek.CPU-linux -p x -t 3 --donate-level 0
Как видим, теперь майнер позволяет нам выставить комиссию в 0 и прекрасно работает с новым алгоритмом CryptoNight variant 2 (cryptonight_v8)!![Работа xmrig без комиссии, devfee, donate-level](/files/119/xmrig-2.8.1_cryptonight_v8_no_devfee.png)
Настроим удобный запуск
Чтобы каждый раз не открывать консоль и не копировать нужные строки для запуска, можно создать простенький sh-скрипт, который сможет запустить xmrig с прописанными в нём параметрами:
Создаём скрипт и делаем его исполняемым
touch ~/xmrig-2.8.1/start.sh; echo '#!/bin/sh' > ~/xmrig-2.8.1/start.sh; chmod +x ~/xmrig-2.8.1/start.sh
Добавляем активацию режима "huge pages" (адресация памяти большими страницами), что даст существенный прирост хэшрейта (но затребует ввода пароля перед запуском майнера т.к. используется sudo):echo 'sudo sysctl -w vm.nr_hugepages=128' >> ~/xmrig-2.8.1/start.sh
Теперь непосредственно добавим строку для запуска майнера с нужными параметрами. Для примера приведу свой вариант пула и настройки потоков: echo './xmrig -a cryptonight -o europe.cryptonight-hub.miningpoolhub.com:20580 -u Subsanek.CPU-l -p x -t 3 --donate-level 0' >> ~/xmrig-2.8.1/start.sh
Сделано! Теперь этот скрипт позволит запускать майнер с сохранёнными параметрами, даже если вы переместите всю папку xmrig-2.8.1, например, на рабочий стол.В Kubuntu удобно запускать этот скрипт в Konsole через контекстное меню:
![Открытие скрипта запуска xmrig через Konsole в KDE](/files/119/script_start_xmrig_nofee_in_konsole_KDE.png)
В итоге открывается привычное окно Konsole с просьбой ввести пароль для активации "huge pages", а затем привычный и красивый вывод лога работы xmrig.
![Работа xmrig без комиссии, devfee, donate-level](/files/119/xmrig-2.8.1_cryptonight_v8_no_devfee.png)
Читать также:
Собираем майнер xmrig-2.8.3 c отключением комиссии разработчика (devfee) в Windows.
что можно выкинуть лишнего с последней версии?