Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
16
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@KumanoT

UbuntuでEthereumマイニング

setup ethereum mining rig with ubuntu16.04 server

合同会社kumanoteのTanakaです。

今回は、Ubuntu16.04を使って、Ethereumのマイニングマシンをセットアップしたので、その情報をまとめたいと思います。
主にソフトウェアの設定をメインにまとめています。

注意点

  • マイニングプールを使ったマイニングになります。(ソロマイニンングではない)
  • AMD系のGPUを使ったセットアップなので、NVIDIA系のGPUは本記事対象外となります。

ちなみに、ビデオカード(GPU)の業界は、Windowsゲーマーがメインの顧客であり、OSは基本的にはWindowsを推奨しています(linuxは非推奨です。

やってみてわかったのですが、以下メリデメになります。

デメリット

  • 採掘効率(Hashrate)はWindowsの方がいいです。(2MH/sくらいデフォルトで違います。)変わらないみたいです。
  • オーバークロックや消費電力を下げるツール及び関連記事はwindowsの方が充実しています。
  • 色々やっていて動かない時に、windowsだと動くんじゃないかという気持ちがよぎり、少し萎えます。

メリットもあります

  • guiをさわらなくていいです。
  • windows updateがはしらないので安定して動作します。
  • がんばればscriptベースで大量のマシンを設定して動作することができます。

ハードウェアについては【2017年度版】Amazonで購入可能なマイニング向けライザーケーブル・マザーボード一覧 | デジモノ達人が詳しいです。

ちゃんと読んでマザーボードとか電源を購入すればよかったと少し反省しています。

↑にも記載があるように、GPUを買ったはいいが、認識されない問題があり・・マザーボードは慎重に選んだ方がいいかもしれません

通常であればグラフィックボードはマザーボードに接続しても1本から2本です。
本格的なマイニングでは4本~6本など数多くのグラフィックボードを接続しますがそれは通常の使い方ではありません。
その為、先に紹介したマザーボードでも最大6枚グラフィックボードが正常に認識されるとは限りません。
私は色々なマザーボードを使ってみましたが、ライザーケーブルを使いながら4本~5本までは問題なく認識することが多いです。

私はASROCK FATAL1TY H270 Performanceでためしたのですが、どうしても__3本くらいまでしか認識されません。。。
後日色々試した結果GPUを全てさした状態でbiosを書き換えて起動することで、正常に6本認識しました。
たまに不安定になるので、ライザーは慎重に選ぶ必要があります。

↓↓↓ 前置きが長くなりましたが、以下手順になります。 ↓↓↓

os インストール

usbなどにisoファイルを焼き付け、usbからosインストールを行う。

MacでUbuntuのインストールUSBディスクを作成する - Qiitaが詳しいです。

ssh serverのインストール

$ sudo apt-get update -y
$ sudo apt-get install openssh-server

→ sshできるようになるので、windows/macなどからsshします(コマンドがコピペできるようになるので便利です)

以下の作業はすべてローカルマシンからマイニングマシンにsshで接続して作業を行います。

utilityのインストール

$ sudo apt-get install -y git screen vim unzip python
$ vim ~/.vimrc
:color desert
set number

$ vim ~/.bashrc
force_color_prompt=yes                             # delete comment & enable setting
LS_COLORS=$LS_COLORS:'di=0;36:' ; export LS_COLORS #add line at the end

ロケールの設定

$ sudo apt-get install language-pack-ja-base language-pack-ja
$ sudo update-locale LANG=ja_JP.UTF-8
$ vim ~/.bashrc
# add the following lines at the end of file.
case $TERM in
  linux)LANG=C ;;
  *)LANG=ja_JP.UTF-8 ;;
esac

sshを鍵で(のみ)はいれるように設定

$ sudo vim /etc/ssh/sshd_config
PasswordAuthentication no # set PasswordAuthentication no

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ vim ~/.ssh/authorized_keys # insert my mac public key.
$ cat ~/.ssh/id_rsa.pub | pbcopy # ローカルのmacの公開鍵をクリップボードにコピー -> authorized_keysに行追加

AMD Gpu Driverのインストール

参考
$ sudo apt dist-upgrade
# amdgpu-pro-17.10-429170.tar.xzをダウンロード USBに焼いて移動
$ ls /dev/sd* # usbの場所を確認 -> 今回はsdb1だった
$ sudo mount -t vfat /dev/sdb1 /media
$ mkdir ~/drivers
$ sudo cp /media/amdgpu-pro-17.10-429170.tar.xz ~/drivers/
$ sudo chown `whoami`:`whoami` ~/drivers/amdgpu-pro-17.10-429170.tar.xz
$ cd ~/drivers
$ tar -Jxvf amdgpu-pro-17.10-429170.tar.xz
$ cd amdgpu-pro-17.10-429170
$ ./amdgpu-pro-install -y
$ sudo shutdown -r now
$ sudo usermod -a -G video $LOGNAME
$ logout
$ groups # check if belongs to video group
$ dpkg -l amdgpu-pro
# check if version 17.10-429170 is installed

マイニングソフトのインストール

参考
$ mkdir ~/workspace
$ cd ~/workspace
$ wget -O Claymore.v9.5.tar.gz https://github.com/nanopool/Claymore-Dual-Miner/releases/download/v9.5/Claymore.s.Dual.Ethereum.Decred_Siacoin_Lbry_Pascal.AMD.NVIDIA.GPU.Miner.v9.5.-.LINUX.tar.gz
$ mkdir Claymore.v9.5
$ tar xvzf Claymore.v9.5.tar.gz -C ./Claymore.v9.5

マイニング実行

事前準備

libcurl3がないと以下のエラーがでるので、実行前にlibcurl3をインストールしておく

$ sudo apt-get install libcurl3

ちなみにこんなエラーです

./ethdcrminer64: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory

実行

Claymore.v9.5インストールディレクトリに以下の実行ファイルを作成して、実行します。

screenコマンドなどをつかって実行すると便利です。

$ vim start.sh
#!/bin/sh
# export GPU_FORCE_64BIT_PTR=0 # must be comment out for amdgpu-pro
export GPU_MAX_HEAP_SIZE=100
export GPU_USE_SYNC_OBJECTS=1
export GPU_MAX_ALLOC_PERCENT=100
export GPU_SINGLE_ALLOC_PERCENT=100

export ETH_ADDR=自分のethアドレス
export ETH_WORKER_NAME=任意のワーカー名(rig01とか)
export PASC_ADDR=自分のpascアドレス
export PASC_WORKER_NAME=任意のワーカー名(rig01とか)

./ethdcrminer64 \
  -epool asia1.ethermine.org:4444 \
  -ewal $ETH_ADDR.$ETH_WORKER_NAME \
  -epsw x \
  -dpool stratum+tcp://pasc-asia1.nanopool.org:15555 \
  -dwal $PASC_ADDR.$PASC_WORKER_NAME \
  -dpsw x \
  -dcoin pasc \
  -dcri 10 \
  -mode 0 \
  -ftime 10 \
  -etha 2 \
  -allpools 1 \
  -wd 0 \
  -eres 4 \
  -gser 2

備考

  • 以下のオプションはライザーカードなどで台数を増やす時は必須のような予感がしてます(じゃないとhang upすることがあった)
    • -wd 0 \
    • -eres 4 \
    • -gser 2
  • "epools.txt", "dpools.txt"なども設定しておいた方が無難です。
  • 同時にpascalcoinも掘っていますが、不要なのであれば、-d*のオブションは不要です。
  • マイニングの進捗は使用しているmining poolで自分のアドレスを検索するとでてきます。
16
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
16
Help us understand the problem. What is going on with this article?