ETHMiner - Настройка для Linux на примере Ubuntu - Гайд 2022

7 мин на чтение

В этом примере мы покажем простые шаги, как начать работу с ETHMiner, вручную скомпилировав его и настроив для майнинга с помощью Nanopool (хотя он будет работать и для других пулов). ethminer

Скачать

Скачать для linux

Хотя майнинг Ethereum в Windows намного проще, вероятно, есть улучшение хешрейта, когда вы используете Linux в качестве драйвера.

Команды и суть этого руководства

Сначала убедитесь, что вы установили последние версии драйверов AMDGPU-pro с поддержкой OpenCL.

AMD

sudo apt-get install opencl-amdgpu-pro-icd cmake git mesa-common-dev
git clone https://github.com/ethereum-mining/ethminer.git
cd ethminer
git submodule update --init --recursive
mkdir build; cd build
cmake .. -DETHASHCUDA=OFF -DETHASHCL=ON
cmake --build . -- -j
sudo make install
ethminer -G -M 0
ethminer -G --report-hr -P stratum1+tcp://[email protected]ool.org:9999

Nvidia

sudo apt-get install nvidia-cuda-toolkit cmake mesa-common-dev
git clone https://github.com/ethereum-mining/ethminer.git
cd ethminer
git submodule update --init --recursive
mkdir build; cd build
cmake .. -DETHASHCUDA=ON -DETHASHCL=OFF
cmake --build . -- -j
sudo make install
ethminer -U -M 0
ethminer -U --report-hr -P stratum1+tcp://[email protected]ool.org:9999

Требования

Поскольку Ethereum оптимизирован для майнинга на GPU, одна или несколько мощных видеокарт отлично подходят. Не имеет значения, NVidia это или AMD, хотя мы предпочитаем использовать AMD.

Также убедитесь, что у вашей видеокарты достаточно памяти. Вы можете использовать калькулятор размера DAG файла, чтобы узнать, сколько памяти вам нужно. Видеокарт с памятью менее 5Гб уже не хватает.

Также вам понадобится кошелек для предоставления вашего уникального Ethereum адреса.

Лично мы рекомендуем использовать Ledger, поскольку он прост в настройке, поддерживает множество валют и не потребляет все ресурсы вашей системы, как Trust Wallet.

Нам не нравится идея, когда посредники хранят ваши приватные ключи, мы предлагаем вам держаться подальше от облачных кошельков.

Для карт AMD вам также необходимо установить драйвер AMDGPU-pro с поддержкой OpenCL перед компиляцией Ethminer.

Установка драйвера AMDGPU pro с поддержкой OpenCL

Получите последние версии драйверов со страницы поддержки AMD, затем установите их с поддержкой OpenCL и перезагрузитесь:

# See: https://www.amd.com/en/support
tar -xf amdgpu-pro-*.tar.xz
cd amdgpu-pro-*/
./amdgpu-pro-install --opencl=legacy,pal
reboot

Для карт Vega10 (или новее) требуется изменение, замените legacy,pal на rocm:

./amdgpu-pro-install --opencl=rocm

При желании, можно добавить--headless и / или --no-dkms опцию к ./amdgpu-pro-install команде, если не хотите, чтобы в окружении рабочего стола загружались драйверы AMD:

./amdgpu-pro-install --opencl=legacy,pal --no-dkms --headless

Сборка Ethminer для ubuntu

Собирать Ethminer вручную не требуется. Последнюю версию можно загрузить со страницы релизов. Однако, если вы профессионал и хотите получить дополнительные хэши от вашей видеокарты, скомпилируйте майнер самостоятельно, выполнив следующие шаги.

  1. Сначала установите необходимые драйверы для вашей видеокарты:
    • Для NVidia используйте:
      sudo apt-get install nvidia-cuda-toolkit
      
    • Для AMD сначала установите драйвер с поддержкой OpenCL, а затем используйте:
      sudo apt-get install opencl-amdgpu-pro-icd
      
  2. Также убедитесь, что в вашей системе существуют все необходимые пакеты:
    sudo apt-get install cmake mesa-common-dev git
    
  3. Теперь загрузите последнюю версию с GitHub в новую папку:
    git clone https://github.com/ethereum-mining/ethminer.git
    cd ethminer
    git submodule update --init --recursive
    
  4. Наконец, скомпилируйте его (команда займет некоторое время, так что наберитесь терпения):
    • Для AMD используйте:
      mkdir build; cd build
      cmake .. -DETHASHCUDA=OFF -DETHASHCL=ON
      cmake --build . -- -j
      
    • Для использования NVidia:
      mkdir build; cd build
      cmake .. -DETHASHCUDA=ON -DETHASHCL=OFF
      cmake --build . -- -j
      
  5. При желании вы можете установить его как исполняемый файл:
    sudo make install
    

Первый запуск Ethmienr

Если вы пропустили шаг 5 выше, вы можете запустить Ethminer из каталога ethminer внутри каталога сборки, в котором вы, вероятно, все еще находитесь:

./ethminer/ethminer --help

В противном случае вы можете запустить его напрямую:

ethminer --help

Команды выше показывают краткую документацию Ethminer. Для длинной документации используйте --help-ext опцию с одним из допустимых расширений:

ethminer --help-ext

При желании вы можете просмотреть все параметры в файле readme cpp-ethereum (который является источником ethminer с поддержкой GPU).

Бенчмаркинг Ethminer

Чтобы получить представление о Mh/s, достигаемых вашей фермой, вы можете сначала запустить тест. Для ATI / OpenCL используйте:

./ethminer/ethminer -G -M 0

Для NVidia / CUDA используйте:

./ethminer/ethminer -U -M 0

Если тест возвращает пустой результат (что, вероятно, будет в первые несколько раз), подождите, пока не будет сгенерирован DAG файл.

benchmark

Разделите “MAX hashrate” на 1000000, чтобы получить скорость в мегахэшах. Это ваш реальный хешрейт в MH/s.

Подключение к пулу

Наконец, мы готовы начать майнинг! Последний шаг на самом деле очень прост, просто выполните следующую команду:

./ethminer/ethminer -G --report-hr -P stratum1+tcp://[email protected]ool.org:9999

0x5576999cc34c1c0030f28939444d6ba9cd6919c2 - замените адрес вашего Eth-кошелька.

rigname - название вашей фермы (или просто удалите его, так как это необязательная опция).

Теперь майнинг должен начать работать. При желании вы можете отслеживать свой прогресс, просмотрев адрес своего кошелька на странице статистики майнера.

Майнинг через другие пулы

Ethminer поддерживает все новейшие протоколы, что позволяет вам подключаться к любому пулу, который вы хотите. См. примеры того, как подключиться к разным пулам, чтобы начать работу.

Чтобы понять, существует ли самый доходный пул для майнинга Ethereum, необходимо учитывать множество факторов, от которых зависит прибыльность.

Название Домашняя страница Подробности о подключении
2miners.com https://2miners.com/ https://eth.2miners.com/en/help
ethermine.org https://ethermine.org/ https://ethermine.org/
ethpool.org https://www.ethpool.org/ https://www.ethpool.org/
f2pool.com https://www.f2pool.com/ https://www.f2pool.com/help/?#tab-content-eth
flexpool.io https://flexpool.io/ https://flexpool.io/docs/getting-started/
miningpoolhub.com https://miningpoolhub.com/ https://ethereum.miningpoolhub.com/
nanopool.org https://nanopool.org/ https://eth.nanopool.org/help
nicehash.com https://www.nicehash.com/ https://www.nicehash.com/help/which-stratum-servers-are-available
whalesburg.com https://whalesburg.com/ https://whalesburg.com/start_mining/

2miners.com

-P stratum1+tcp://[email protected]s.com:2020

ethermine.org

Подключение без SSL:

-P stratum1+tcp://[email protected]rmine.org:4444
-P stratum1+tcp://[email protected]ine.org:4444
-P stratum1+tcp://[email protected]ine.org:4444
-P stratum1+tcp://[email protected]ine.org:4444

Подключение с SSL:

-P stratum1+ssl://[email protected]rmine.org:5555
-P stratum1+ssl://[email protected]ine.org:5555
-P stratum1+ssl://0x5576999cc34c1c0030f28939444d6b[email protected]:5555
-P stratum1+ssl://[email protected]ine.org:5555

ethpool.org

 -P stratum1+tcp://[email protected]ool.org:3333
 -P stratum1+tcp://[email protected]l.org:3333
 -P stratum1+tcp://[email protected]l.org:3333

f2pool.com

-P stratum1+tcp://[email protected].com:8008

flexpool.io

Подключение без SSL:

-P stratum1+tcp://[email protected]l.io:4444
-P stratum1+tcp://[email protected]l.io:4444

Подключение с SSL:

-P stratum1+ssl://[email protected]l.io:5555
-P stratum1+ssl://[email protected]l.io:5555

miningpoolhub.com

-P stratum2+tcp://USERNAME%2eWORKERNAME:[email protected]:20535
-P stratum2+tcp://USERNAME%2eWORKERNAME:[email protected]:20535
-P stratum2+tcp://USERNAME%2eWORKERNAME:[email protected]:20535

Советы:

  • miningpoolhub.com требует имя пользователя.workername во внутреннем процессе входа в систему. Используйте “%2e”, чтобы объединить их в один параметр.
  • Пароль не проверяется пулом, поэтому вы можете использовать простой x как WORKERPWD.

nanopool.org

Советы:

  • Используйте “%40” для знака @ в своем адресе электронной почты.
  • Используйте “\%2e” для знака . в Linux в 0x5576999cc34c1c0030f28939444d6ba9cd6919c2.WORKERNAME

С email:

-P stratum1+tcp://[email protected]g:9999/WORKERNAME/EMAIL
-P stratum1+tcp://[email protected]:9999/WORKERNAME/EMAIL
-P stratum1+tcp://[email protected]:9999/WORKERNAME/EMAIL
-P stratum1+tcp://[email protected].org:9999/WORKERNAME/EMAIL
-P stratum1+tcp://0x5576999cc34c1c0030f289394[email protected]:9999/WORKERNAME/EMAIL

Без email:

-P stratum1+tcp://[email protected]nanopool.org:9999
-P stratum1+tcp://[email protected]nopool.org:9999
-P stratum1+tcp://[email protected]nopool.org:9999
-P stratum1+tcp://[email protected]t1.nanopool.org:9999
-P stratum1+tcp://[email protected]t1.nanopool.org:9999

nicehash.com

-P stratum2+tcp://[email protected]:3353
-P stratum2+tcp://[email protected]:3353
-P stratum2+tcp://[email protected]:3353
-P stratum2+tcp://[email protected]:3353
-P stratum2+tcp://[email protected]:3353
-P stratum2+tcp://[email protected]:3353

whalesburg.com

-P stratum1+tcp://[email protected].whalesburg.com:8082

Исправление проблем

Получение системной информации

Некоторые команды, которые мы использовали, чтобы понять, какие драйверы или устройства распознаются или нет:

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

lspci -k | grep -EA3 'VGA|3D|Display'

Показать загруженные модули ядра:

lsmod | grep "kms\|drm\|amdgpu"

Перечислить платформы и устройства OpenCL:

clinfo

Получить список устройств, которые распознает Ethminer:

ethminer --list-devices

Тест Ethminer продолжает давать 0H/s

В основном это происходит на CUDA-картах и / или когда генерация DAG занимает больше времени, чем время теста.

Опция --benchmark-warmup была удалена, так что будьте терпеливы и пусть файл DAG сгенерируется.

Error – unsupported GNU version! gcc versions later than 8 are not supported!

Сборка Ethminer завершается с ошибкой. Эта ошибка на самом деле не требует пояснений, и ее можно решить, установив версию gcc вручную:

Сначала удалите все существующие файлы из текущего каталога build:

make clean

Теперь установите необходимые библиотеки и перезапустите сборку:

sudo apt-get install gcc-8 g++-8

Для использования ATI/OpenCL:

cmake -D CMAKE_C_COMPILER=gcc-8 -D CMAKE_CXX_COMPILER=g++-8 -DETHASHCUDA=OFF -DETHASHCL=ON ..
cmake --build . -- -j

Для Nvidia/CUDA используйте:

cmake -D CMAKE_C_COMPILER=gcc-8 -D CMAKE_CXX_COMPILER=g++-8 -DETHASHCUDA=ON -DETHASHCL=OFF ..
cmake --build . -- -j

Error: No usable mining devices found

Ethminer не видит пригодных для использования устройств с картой AMD .

Используя clinfo, проверьте, найдены ли какие-либо платформы с поддержкой OpenCL:

# This is wrong
Number of platforms                               0

# This is good
Number of platforms                               1
  Platform Name                                   AMD Accelerated Parallel Processing
  Platform Vendor                                 Advanced Micro Devices, Inc.
  Platform Version                                OpenCL 2.1 AMD-APP (3143.9)
  Platform Profile                                FULL_PROFILE
[...]

Если и clinfo и ethminer не видит устройств, это означает, что используемый вами драйвер устройства либо не работает должным образом, либо не поддерживает OpenCL. См. выше, как установить драйвер для вашего устройства. Заранее удалите все существующие драйверы. При желании вы можете проверить, загружен ли драйвер AMD в ядро, используя:

lsmod | grep amdgpu

SIGSEGV, not enough memory available on device

Ошибка SIGSEGV означает, что на устройстве недостаточно памяти.

Посмотрите на строки над сообщением трассировки, чтобы выяснить, что именно пошло не так. Если на вашем устройстве недостаточно памяти, вы можете выжать дополнительную жизнь из своей карты, остановив все другие программы и / или остановив среду графического интерфейса пользователя / рабочего стола.

Используйте калькулятор размера DAG, чтобы узнать, какой минимальный объем памяти GPU необходим для майнинга.

Использование ethminer --list-devices показывает доступный объем памяти.

Альтернативным решением может быть добыча других монет, которые работают на Ethash Proof of Work, например Expanse или Metaverse.

Другие (проблемы совместимости)

Иногда использование последней версии приводит к возникновению странных проблем или ошибок, которые еще не исправлены. Поэтому вы можете проверить более раннюю версию (например, v0.18.0) и попробовать, работает ли она:

git clone --single-branch --branch v0.18.0 https://github.com/ethereum-mining/ethminer.git

Затем выполните те же действия по сборке, которые указаны выше.

Кроме того, важно проверить, нет ли конфликтующих драйверов или других проблем. Для AMD вы можете вручную удалить существующие драйверы:

amdgpu-pro-uninstall rm -Rf /etc/vulkan /opt/amdgpu /opt/amdgpu-pro

Вывод

После установки Linux с предварительно созданной версией Ethminer хешрейт подскочил почти на 4 Mh/s. Поэтому мы должны заключить, что дополнительные усилия по запуску майнера и драйверов действительно того стоят.

Уведомление

Майнинг сократит срок службы вашего оборудования и заставит ваш компьютер потреблять больше энергии, что приведет к увеличению счета за электроэнергию. Кроме того, вы можете потерять все вложенные деньги. Итак, будьте внимательны!

Вы и только вы несете ответственность за любой ущерб, нанесенный вам, вашему оборудованию или финансовый ущерб.

Журнал изменений

2019-01-11

-t 1 Флаг убран, так как он не нужен. Добавлен --report-hr флаг, чтобы сообщать о хешрейте в пул. Изменена страница загрузки драйверов AMD, чтобы пользователи всегда получали последнюю версию драйвера.

2020-09-23
Добавлена -j возможность использовать все ядра процессора при сборке, потому что это значительно ускоряет процесс. Добавлена документация по ферме драйверов AMDGPU-pro с поддержкой OpenCL.

2020-09-24
Добавлена дополнительная информация по устранению неполадок, решение проблемы нехватки памяти и другие мелкие исправления. Исправлено указание версии gcc и g++ при сборке.

2021-01-04 Максимально поддерживаемая версия gcc/g++ - 8, заменено 6 в исправлении ошибки.

2021-01-07 Добавлен sudo перед командами, требующими дополнительных привилегий.

mining rig for ethminer