Майнинг,  Статьи

Настройка и компиляция майнеров для процессора в 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

Для работы с исходным кодом программы 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:

После установки желаемого значения доната, а также параметров исполняемого файла, производится компиляция исполнительного файла.

Это делается следующим образом:

  1. Заходим в папку с исходниками программы xmrig:
  2. Запускаем в ней терминал и выполняем команду:
    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

Pause

Скриншот работы самостоятельно скомпилированного майнера с нулевым донатом 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 --threads 1 --api-bind 0

Самостоятельное компилирование позволяет запустить майнинг на алгоритме lyra2z330, который использует инструкции SSE4.2 и AVX2 даже на процессоре без них:

It’s so good. If you’re looking for good mood then listen Chris Rea

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».

  • cryptoprofi

    Совершенно верно, для компиляции еще нужна библиотека, она уже стояла в системе, поэтому забыли добавить ее в текст.
    Откорректировали команду, добавив библиотеку libhwloc-dev
    sudo apt-get install git build-essential cmake libuv1-dev libmicrohttpd-dev libssl-dev libhwloc-dev
    Дмитрий, спасибо за Вашу помощь!

  • cryptoprofi

    Поставить скрипт в автозагрузку можно сохраняя сессию по методике, изложенной в статье «Как добиться от видеокарт Radeon R9 290/390 хешрейта 29-30 Mh/s на Ethash» (https://www.cryptoprofi.info/?p=3313).
    Также можно воспользоваться способами, изложенными в статье https://losst.ru/kak-dobavit-skript-v-avtozagruzku-ubuntu

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *