
Настройка и компиляция майнеров для процессора в Ubuntu
Майнинг криптовалют сопряжен с опасностью установки вирусов на компьютер пользователя из-за того, что майнеры часто скачиваются в интернете из неизвестных источников.
Частично ситуацию можно исправить благодаря проверке контрольной суммы скачиваемого файла (об этом можно прочитать в статье «Как проверить контрольную сумму файла и почему это нужно делать»).
Тем не менее, полной уверенности в чистоте майнера все равно этим не добиться.
Для гарантированной защиты от вредоносного кода необходимо проверять исходный код программы, а затем компилировать из него исполняемый файл майнера.
Самостоятельная компиляция файла майнера дает следующие преимущества:
- уменьшает вероятность встраивания в майнер сторонних шпионских модулей;
- позволяет уменьшить размер devfee или полностью убрать комиссию разработчику;
- появляется возможность не включать в исполняемый файл ненужные модули и функции, пожирающие ресурсы;
- есть возможность скомпилировать файл майнера для платформы, несовместимой с исполняемыми файлами, которые распространяются разработчиками (например, запускать майнинг на алгоритме lyra2z330 на системах со старыми процессорами, не имеющими набора команд SSE4.2);
- улучшается общий уровень знаний и навыков пользователя в программировании и работе с аппаратным обеспечением.
В конце-концов это просто получение удовольствия от нового свершения в жизни… Это почти как песни Криса Ри…
Рассмотрим в качестве примера компиляцию программ XMRig и cpuminer-opt для майнинга на процессоре в линукс-подобных осях.
Компиляция мацйнеров под Windows под Windows немного сложнее и будет описана в другой статье.
Самостоятельная компиляция программы xmrig для майнинга на CPU в Ubuntu
Перед компиляцией XMRig в системе нужно установить нужный набор разделяемых библиотек. Это делается командой:
sudo apt-get install git build-essential cmake libuv1-dev libmicrohttpd-dev libssl-dev libhwloc-dev libssl-dev libcurl4-openssl-dev libjansson-dev libgmp-dev automake zlib1g-dev libtool autoconf
Для работы с исходным кодом программы XMRig нужно скачать архив Source code (tar.gz) и разархивировать его:
Затем в разархивированной папке можно проверить и модифицировать исходный код программы, а также изменить уровень комиссии при майнинге.
Согласно примечаниям разработчиков XMRig, если планируется установить уровень devfee у разработанного ими майнера в ноль, то желательно сделать пожертвование на один из их кошельков в монетах XMR или BTC: Это вполне законное требование, заключающееся в компенсации за труд программистов, потраченный на разработку программы.
С другой стороны, изменение размера доната майнром также является вполне законным, так как программа XMRig является бесплатным open source-проектом. На страницы ее лицензии прямо указывается, что это бесплатное программное обеспечение, которое может распространяться и/или модифицироваться согласно общей лицензии GNU:
Если майнер уже несколько лет платит комиссию devfee разработчикам, то он с чистой совестью может понизить размер доната (или полностью его убрать).
Изменение размера комиссии XMRig производится в файле DONATE_H (папка src) перед компиляцией:
Это производится в следующих строках:
constexpr const int kDefaultDonateLevel = 5; constexpr const int kMinimumDonateLevel = 1;
Здесь цифры дефолтного доната (5) и минимум (1) меняют на свои.
Параметры исполняемого файла, удаление из сборки лишнего производится в файле CMakeLists.txt:
В тестовом редакторе изменяют значения в конце редактируемой строки CMakeLists.txt на ON для включения или OFF для исключения выбранного параметра.
В следующих строках можно отключить ненужные алгоритмы:
option(WITH_CN_LITE "Enable CryptoNight-Lite algorithms family" ON) option(WITH_CN_HEAVY "Enable CryptoNight-Heavy algorithms family" ON) option(WITH_CN_PICO "Enable CryptoNight-Pico algorithm" OFF) option(WITH_CN_GPU "Enable CryptoNight-GPU algorithm" ON) option(WITH_RANDOMX "Enable RandomX algorithms family" ON) option(WITH_ARGON2 "Enable Argon2 algorithms family" ON)
В строке option(WITH_TLS “Enable OpenSSL support” OFF) можно отключить шифрование трафика, которое пожирает ресурсы (и получить в итоге файл xmrig-notls).
Поддержка майнинга на видеокартах отключается в строках:
option(WITH_OPENCL "Enable OpenCL backend" OFF) option(WITH_CUDA "Enable CUDA backend" OFF) option(WITH_NVML "Enable NVML (NVIDIA Management Library) support (only if CUDA backend enabled)" OFF)
Пример измененных значений параметров майнера XMRig в файле CMakeLists.txt:
После установки желаемого значения доната, а также параметров исполняемого файла, производится компиляция исполнительного файла.
Компиляция программы делается следующим образом:
- Заходим в папку с исходниками программы xmrig:
- Запускаем в ней терминал и выполняем команду:
mkdir build; cd build; cmake ..; make
После этого запуститься процесс компиляции майнера:
По окончанию компиляции (через несколько минут) появится окно с сообщением об успехе Built target xmrig:
Исполняемый файл для майнинга xmrig находится в папке build:
Теперь с ним можно работать, как с готовым скачанным файлом майнера, но с отрегулированной комиссией и отключенными ненужными опциями.
Скрипт для майнинга Monero в xmrig на nicehash:
#!/bin/sh
./xmrig -a randomx -o randomxmonero.eu.nicehash.com:3380 -u адрес.воркер -p x -k --donate-level=0 --asm=intel --cpu-priority 0 --nicehash -t 2 --keepalive --randomx-mode=fast
Скриншот работы самостоятельно скомпилированного майнера с нулевым донатом devfee:
Самостоятельная компиляция программы Cpuminer-opt для майнинга на CPU в Ubuntu
Разработчик програмного обеспечения JayDDee регулярно выпускает обновления для своего майнера cpuminer-opt, оптимизированного под разные алгоритмы для процессоров.
Для Windows в разделе релизов он выкладывает готовые исполняемые файлы, а для Linux-подобных систем их нужно самостоятельно скомпилировать из исходного кода.
При желании можно скомпилировать собственный exe-файлы и для Windows, используя Source code, выложенный там же в zip-архиве.
Исходный код программы cpuminer-opt для Ubuntu и других линукс-подобных систем:
Рассмотрим последовательность действий для компиляции исполняемого файла майнера cpuminer-opt для Ubuntu (Linux Mint, Xubuntu и т.д.) из исходного кода.
Как скомпилировать майнер Cpuminer-opt из исходного кода для Ubuntu (и подобных систем)?
Прежде всего, нужно скачать архив с последней версией программы с tar.qz с кодом и разархивировать его:
Распаковываем полученный архив:
Через терминал устанавливаем нужные библиотеки командой:
sudo apt-get install build-essential libssl-dev libcurl4-openssl-dev libjansson-dev libgmp-dev automake zlib1g-dev
После установки появится окно с сообщением об успехе или о том, что пакеты уже установлены:
В терминале, запущенном в папке с распаковными исходниками, выполняем команду:
./build.sh
После этого начнется компиляция исполняемого файла майнера под конкретный процессор:
По окончанию компиляции появится сообщение об успехе:
Исполняемый файл удобнее скопировать из папки с исходниками в другое место, откуда и запускать срипт для майнинга:
Папка с майнером и скриптами для майнинга:
Скрипт для майнинга на алгоритме lyra2z330 с конвертацией в битки на zergpool:
#!/bin/sh ./cpuminer -a lyra2z330 -o stratum+tcp://lyra2z330.mine.zergpool.com:4563 -u колшелек -p воркер,c=BTC,refcode=81de238596774683dd427a9d57bae6af --threads 1 --api-bind 0
Самостоятельное компилирование позволяет запустить майнинг на алгоритме lyra2z330, который использует инструкции SSE4.2 и AVX2 даже на процессоре без них:
It’s so good. If you’re looking for good mood then listen Chris Rea…
P.S. Последние версии xmrig компилируются командами:
1. sudo apt-get install git build-essential cmake automake libtool autoconf
2. git clone https://github.com/xmrig/xmrig.git
3. mkdir xmrig/build && cd xmrig/scripts
4. ./build_deps.sh && cd ../build
5. cmake .. -DXMRIG_DEPS=scripts/deps
6. make -j$(nproc)


5 комментариев
Дмитрий
Очень полезная инструкция по компиляции xmrig, большое спасибо!
Если можно, подскажите как поставить скрипт в автозагрузку, что бы при старте системы запускался майнинг. Система без GUI, только консоль. Заранее огромное спасибо!
Дмитрий
Не удалось скомпилировать XMRig 5.1.0 на Xubuntu 18.04 LTS .
При выполнении Cmake ошибка:
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find HWLOC (missing: HWLOC_LIBRARY HWLOC_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
cmake/FindHWLOC.cmake:25 (find_package_handle_standard_args)
src/backend/cpu/cpu.cmake:30 (find_package)
src/backend/backend.cmake:1 (include)
CMakeLists.txt:34 (include)
— Configuring incomplete, errors occurred!
See also “/home/ut4nj/xmrig-5.1.0/build/CMakeFiles/CMakeOutput.log”.
Дмитрий
Надо ещё установить sudo apt install libhwloc-dev и теперь компилируется .
cryptoprofi
Совершенно верно, для компиляции еще нужна библиотека, она уже стояла в системе, поэтому забыли добавить ее в текст.
Откорректировали команду, добавив библиотеку libhwloc-dev
sudo apt-get install git build-essential cmake libuv1-dev libmicrohttpd-dev libssl-dev libhwloc-dev
Дмитрий, спасибо за Вашу помощь!
cryptoprofi
Поставить скрипт в автозагрузку можно способами, изложенными в статье https://www.cryptoprofi.info/?p=4593