GitHub:
XMRig – Высокопроизводительный кроссплатформенный майнер RandomX, CryptoNight, KawPow, AstroBWT и Argon2 с открытым исходным кодом, с официальной поддержкой Windows и Linux. Программа для добычи монет на алгоритмах RandomX и CryptoNight. Подходит как для видеокарт семейства AMD и Nvidia, так и для процессоров. Программа имеет комиссию разработчику в виде 1-5%. В данной пошаговой инструкции мы расскажем как настроить комиссию и батники для разных монет.
Изменения в v6.4.0:
- #1862 RandomX: removed rx/loki algorithm.
- #1890 Added argon2/chukwav2 algorithm.
- #1895 #1897 Added benchmark and stress test.
- #1864 RandomX: improved software AES performance.
- #1870 RandomX: fixed unexpected resume due to disconnect during dataset init.
- #1872 RandomX: fixed randomx_create_vm call.
- #1875 RandomX: fixed crash on x86.
- #1876 RandomX: added huge-pages-jit config parameter.
- #1881 Fixed possible race condition in hashrate counting code.
- #1882 #1886 #1887 #1893 General code improvements.
- #1885 Added more precise hashrate calculation.
- #1889 Fixed libuv performance issue on Linux.
Поддерживает алгоритмы:
Имя | Память | Версия | Примечание |
rx/arq | 256 KB | 4.3.0+ | RandomARQ (RandomX variant for ArQmA). |
rx/0 | 2 MB | 3.2.0+ | RandomX (Monero). |
argon2/chukwa | 512 KB | 3.1.0+ | Argon2id (Chukwa). |
argon2/wrkz | 256 KB | 3.1.0+ | Argon2id (WRKZ) |
rx/wow | 1 MB | 3.0.0+ | RandomWOW (RandomX variant for Wownero). |
rx/loki | 2 MB | 3.0.0+ | RandomXL (RandomX variant for Loki). |
cn/fast | 2 MB | 3.0.0+ | CryptoNight variant 1 with half iterations. |
cn/rwz | 2 MB | 2.14.0+ | CryptoNight variant 2 with 3/4 iterations and reversed shuffle operation. |
cn/zls | 2 MB | 2.14.0+ | CryptoNight variant 2 with 3/4 iterations. |
cn/double | 2 MB | 2.14.0+ | CryptoNight variant 2 with double iterations. |
cn/r | 2 MB | 2.13.0+ | CryptoNightR (Monero’s variant 4). |
cn/wow | 2 MB | 2.12.0+ | CryptoNightR (Wownero). |
cn/gpu | 2 MB | 2.11.0+ | CryptoNight-GPU. |
cn-pico | 256 KB | 2.10.0+ | CryptoNight-Pico. |
cn/half | 2 MB | 2.9.0+ | CryptoNight variant 2 with half iterations. |
cn/2 | 2 MB | 2.8.0+ | CryptoNight variant 2. |
cn/xao | 2 MB | 2.6.4+ | CryptoNight variant 0 (modified). |
cn/rto | 2 MB | 2.6.4+ | CryptoNight variant 1 (modified). |
cn-heavy/tube | 4 MB | 2.6.4+ | CryptoNight-Heavy (modified). |
cn-heavy/xhv | 4 MB | 2.6.3+ | CryptoNight-Heavy (modified). |
cn-heavy/0 | 4 MB | 2.6.0+ | CryptoNight-Heavy. |
cn/1 | 2 MB | 2.5.0+ | CryptoNight variant 1. |
cn-lite/1 | 1 MB | 2.5.0+ | CryptoNight-Lite variant 1. |
cn-lite/0 | 1 MB | 0.8.0+ | CryptoNight-Lite variant 0. |
cn/0 | 2 MB | 0.5.0+ | CryptoNight (original). |
Параметры CMake
Алгоритмы
- -DWITH_CN_LITE=OFF отключить все алгоритмы CryptoNight-Lite ( cn-lite/*).
- -DWITH_CN_HEAVY=OFFотключить все алгоритмы CryptoNight-Heavy ( cn-heavy/*).
- -DWITH_CN_PICO=OFF отключить алгоритмы CryptoNight-Pico ( cn-picoи cn-pico/tlo).
- -DWITH_RANDOMX=OFF отключить алгоритмы RandomX ( rx/*).
- -DWITH_ARGON2=OFF отключить алгоритмы Argon2 ( argon2/*).
- -DWITH_ASTROBWT=OFFотключить алгоритм AstroBWT ( astrobwt).
- -DWITH_KAWPOW=OFF отключить алгоритм KawPow ( kawpow).
Функции
- -DWITH_HWLOC=OFF отключить поддержку hwloc . В большинстве случаев отключать эту функцию не рекомендуется. Эта функция добавляет внешнюю зависимость к libhwloc (1.10.0+), за исключением сборок MSVC.
- -DWITH_LIBCPUID=OFF отключить встроенную поддержку libcpuid, эта функция всегда отключена, если hwloc включен, если и hwloc, и libcpuid отключены, автоконфигурация для ЦП будет очень ограничена.
- -DWITH_HTTP=OFF отключить встроенную поддержку HTTP, эта функция используется для поддержки HTTP API и демона (соло-майнинг).
- -DWITH_TLS=OFF отключить поддержку SSL / TLS (безопасные подключения к пулу). Эта функция добавляет внешнюю зависимость к OpenSSL.
- -DWITH_ASM=OFF отключить оптимизацию сборки для современных алгоритмов CryptoNight.
- -DWITH_EMBEDDED_CONFIG=ONвключить поддержку встроенной конфигурации.
- -DWITH_OPENCL=OFF отключить бэкэнд OpenCL.
- -DWITH_CUDA=OFF отключить серверную часть NVIDIA CUDA.
- -DWITH_NVML=OFF отключить поддержку NVML (NVIDIA Management Library) (эта функция доступна только при включенном CUDA) .
- -DWITH_MSR=OFF отключить мод MSR и исправление Ryzen 1-го поколения.
- -DWITH_ADL=OFF отключить поддержку ADL (AMD Display Library) или sysfs (эта функция доступна только при включенном OpenCL) .
- -DWITH_PROFILING=ON включить профилирование для разработчиков.
- -DWITH_SSE4_1=OFF отключить SSE 4.1 для Blake2.
- -DWITH_BENCHMARK=OFF отключить встроенный тест производительности RandomX и стресс-тест.
- -DWITH_SECURE_JIT=ON включить безопасный доступ к памяти JIT. OFFпо умолчанию во всех ОС, кроме macOS с процессором ARM.
- -DWITH_DMI=OFF отключить считыватель DMI / SMBIOS.
Варианты отладки
- -DWITH_DEBUG_LOG=ON включить журнал отладки (в основном сетевые запросы).
- -DHWLOC_DEBUG=ON включить некоторый журнал отладки для hwloc.
- -DCMAKE_BUILD_TYPE=Debug включить отладочную сборку, полезно только для исследования сбоев, эта опция замедляет майнер.
Особые варианты сборки
- -DBUILD_STATIC=ON построить полностью статический исполняемый файл, этот параметр работает должным образом только в Alpine Linux и FreeBSD .
- -DXMRIG_DEPS= путь к предварительно скомпилированным зависимостям .
- -DARM_TARGET= переопределить цель ARM, возможные значения 7(ARMv7) и 8(ARMv8).
- -DUV_INCLUDE_DIR= настраиваемый путь к заголовкам libuv.
- -DUV_LIBRARY= настраиваемый путь к библиотеке libuv.
- -DHWLOC_INCLUDE_DIR= настраиваемый путь к заголовкам hwloc.
- -DHWLOC_LIBRARY= настраиваемый путь к библиотеке hwloc.
- -DOPENSSL_ROOT_DIR= настраиваемый путь к OpenSSL.
- -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ кастомный компилятор C и C ++.
Использование и Настройка
Предпочтительным способом настройки майнера является файл конфигурации JSON, так как он более гибкий и удобный для пользователя. Интерфейс командной строки не охватывает все функции, такие как профили майнинга для различных алгоритмов. Важные параметры могут быть изменены во время выполнения без перезагрузки майнера путем редактирования файла конфигурации или выполнения вызовов API.
- – поможет вам создать начальную конфигурацию для майнера.
- – помогает управлять вашими майнерами через HTTP API.
Изменения v6.16.2
- Исправлен сбой на процессорах, поддерживающих VAES и работающих с xmrig, скомпилированным GCC.
- Исправлена некорректная автонастройка в сборке GCC Windows.
- Поддержка фиксированных переменных среды для GhostRider и KawPow.
- Исправления производительности: Исправлено несколько узких мест, связанных с производительностью, появившихся в v6.16.1.
- Исправлена общая производительность сборки при компиляции GCC, теперь она такая же, как при сборке MSVC.
- Сборки Linux теперь на 10% быстрее по сравнению со сборкой GCC v6.16.0.
- Сборки Windows теперь на 5% быстрее по сравнению со сборкой MSVC v6.16.0.
Быстрый старт
Для того, что бы добывать монеты нужно:
- скачать программу
- разархивировать в любое удобное место
- отредактировать .bat файл с нужной монетой (поменять кошелек на свой)
Настройка xmrig для майнинга Monero
Для добычи монет на алгоритме randomx нам нужно создать или отредактировать готовый батник под нужную Вам монету. Это базовые настройки, которых достаточно для майнинга. Вторичные настройки рассмотрим позже.
Расшифровка содержимого батника
- xmrig данный ключ укажет какая программа будет запущена. Оставляем как есть. Для Нвидиа укажем xmrig-nvidia
- -a randomx указываем алгоритм. Для Monero оставляем этот. Для монет на алгоритме cryptonight-lite указываем его
- -o pool.supportxmr.com указываем адрес Вашего пула. В данном примере у нас supportxmr, т.к. на момент написания статьи он получил наибольшее число положительных отзывов
- 5555 после адреса пула через двоеточие указываем порт пула. у dwarfpool это 8050
- -u 4ALcw9nTAStZSshoWVUJakZ6tLwTDhixhQUQNJkCn4t3fG3MMK19WZM44HnQRvjqmz4LkkA8t565v7iBwQXx2r34HNroSAZ после ключа -u указываем адрес Вашего цифрового кошелька. Получите его на , либо установите холодный кошелек
- —donate-level=1 настраиваем комиссию майнера. По умолчанию она составляет 5%. level=1 означает 1%
Пример батника для NiceHash:
xmrig -a randomx -o randomxmonero.eu.nicehash.com:3380 -u 1Pz3EcHsRuJkraNRACUrBrLaxiTPP1VHJZ.rig1 pause
Пример батника для AMD:
:start xmrig -a randomx -o xmr-eu1.nanopool.org:14444 -u 44tLjmXrQNrWJ5NBsEj2R77ZBEgDa3fEe9GLpSf2FRmhexPvfYDUAB7EXX1Hdb3aMQ9FLqdJ56yaAhiXoRsceGJCRS3Jxkn.5d3c802ee0f8e12e4eb9792722b7816a42178aa29ef7477c138ddb940c55648d.rig1 -p x —donate-level=1 —opencl goto start
Пример батника для Nvidia:
:start xmrig -a randomx -o pool.supportxmr.com:5555 -u 44tLjmXrQNrWJ5NBsEj2R77ZBEgDa3fEe9GLpSf2FRmhexPvfYDUAB7EXX1Hdb3aMQ9FLqdJ56yaAhiXoRsceGJCRS3Jxkn.5d3c802ee0f8e12e4eb9792722b7816a42178aa29ef7477c138ddb940c55648d.rig1 -p x —donate-level=1 —cuda goto start
Загрузите прямо сейчас готовые .bat фалы:
Примечание к выпуску v6.10.0
- CPU (x64/x86/ARM)
- OpenCL for AMD GPUs.
- CUDA for NVIDIA GPUs via external CUDA plugin.
- Исправлена логика паузы, когда включены как пауза от батареи, так и активность пользователя.
- Исправлена совместимость с gcc 4.8.
- Исправлено множество сообщений new job при одиночном майнинге.
- sse2neon.h обновлен до последней версии мастера, исправлены сборки на ARMv7.
- Исправлен сбой в cn-heavy на Zen3 с ручным подсчетом потоков .
- Исправлена возможная некорректная запись в файл журнала.
- .
- Для официальных сборок: libuv, hwloc и OpenSSL обновлены до последних версий.
Command line options
Network: -o, —url=URL URL of mining server -a, —algo=ALGO mining algorithm https://xmrig.com/docs/algorithms —coin=COIN specify coin instead of algorithm -u, —user=USERNAME username for mining server -p, —pass=PASSWORD password for mining server -O, —userpass=U:P username:password pair for mining server -x, —proxy=HOST:PORT connect through a SOCKS5 proxy -k, —keepalive send keepalive packet for prevent timeout (needs pool support) —nicehash enable nicehash.com support —rig-id=ID rig identifier for pool-side statistics (needs pool support) —tls enable SSL/TLS support (needs pool support) —tls-fingerprint=HEX pool TLS certificate fingerprint for strict certificate pinning —daemon use daemon RPC instead of pool for solo mining —daemon-poll-interval=N daemon poll interval in milliseconds (default: 1000) -r, —retries=N number of times to retry before switch to backup server (default: 5) -R, —retry-pause=N time to pause between retries (default: 5) —user-agent set custom user-agent string for pool —donate-level=N donate level, default 5%% (5 minutes in 100 minutes) —donate-over-proxy=N control donate over xmrig-proxy feature CPU backend: —no-cpu disable CPU mining backend -t, —threads=N number of CPU threads -v, —av=N algorithm variation, 0 auto select —cpu-affinity set process affinity to CPU core(s), mask 0x3 for cores 0 and 1 —cpu-priority set process priority (0 idle, 2 normal to 5 highest) —cpu-max-threads-hint=N maximum CPU threads count (in percentage) hint for autoconfig —cpu-memory-pool=N number of 2 MB pages for persistent memory pool, -1 (auto), 0 (disable) —cpu-no-yield prefer maximum hashrate rather than system response/stability —no-huge-pages disable huge pages support —asm=ASM ASM optimizations, possible values: auto, none, intel, ryzen, bulldozer —randomx-init=N thread count to initialize RandomX dataset —randomx-no-numa disable NUMA support for RandomX —randomx-mode=MODE RandomX mode: auto, fast, light —randomx-1gb-pages use 1GB hugepages for dataset (Linux only) —randomx-wrmsr=N write custom value (0-15) to Intel MSR register 0x1a4 or disable MSR mod (-1) —randomx-no-rdmsr disable reverting initial MSR values on exit —astrobwt-max-size=N skip hashes with large stage 2 size, default: 550, min: 400, max: 1200 —astrobwt-avx2 enable AVX2 optimizations for AstroBWT algorithm API: —api-worker-id=ID custom worker-id for API —api-id=ID custom instance ID for API —http-host=HOST bind host for HTTP API (default: 127.0.0.1) —http-port=N bind port for HTTP API —http-access-token=T access token for HTTP API —http-no-restricted enable full remote access to HTTP API (only if access token set) OpenCL backend: —opencl enable OpenCL mining backend —opencl-devices=N comma separated list of OpenCL devices to use —opencl-platform=N OpenCL platform index or name —opencl-loader=PATH path to OpenCL-ICD-Loader (OpenCL.dll or libOpenCL.so) —opencl-no-cache disable OpenCL cache —print-platforms print available OpenCL platforms and exit CUDA backend: —cuda enable CUDA mining backend —cuda-loader=PATH path to CUDA plugin (xmrig-cuda.dll or libxmrig-cuda.so) —cuda-devices=N comma separated list of CUDA devices to use —cuda-bfactor-hint=N bfactor hint for autoconfig (0-12) —cuda-bsleep-hint=N bsleep hint for autoconfig —no-nvml disable NVML (NVIDIA Management Library) support TLS: —tls-gen=HOSTNAME generate TLS certificate for specific hostname —tls-cert=FILE load TLS certificate chain from a file in the PEM format —tls-cert-key=FILE load TLS certificate private key from a file in the PEM format —tls-dhparam=FILE load DH parameters for DHE ciphers from a file in the PEM format —tls-protocols=N enable specified TLS protocols, example: «TLSv1 TLSv1.1 TLSv1.2 TLSv1.3» —tls-ciphers=S set list of available ciphers (TLSv1.2 and below) —tls-ciphersuites=S set list of available TLSv1.3 ciphersuites Logging: -S, —syslog use system log for output messages -l, —log-file=FILE log all output to a file —print-time=N print hashrate report every N seconds —health-print-time=N print health report every N seconds —no-color disable colored output —verbose verbose output Misc: -c, —config=FILE load a JSON-format configuration file -B, —background run the miner in the background -V, —version output version information and exit -h, —help display this help and exit —dry-run test configuration and exit —export-topology export hwloc topology to a XML file and exit