【CentOS7】VPSでマイニング(採掘)する方法

公開日:
更新日:
カテゴリー: サーバー

CentOS7(たぶんCentOS7じゃなくてもできる)を入れたVPSでビットコインを始めとした仮想通貨(アルトコイン)のマイニング(採掘)をする方法を説明しています。

おそらくさくさく準備を進められたら5分後にはVPSで仮想通貨のマイニングをしているはずです。それほど簡単です。

CentOS7でマイニング(採掘)する方法

「ビットコイン(仮想通貨)の採掘?何それ面白そう!でも面倒くさそう・・・」と最初は引っ込み思案でしたが、ブロックチェーン技術は次世代の有望なシステムになり得る可能性を大きく秘めているので、そのブロックチェーン技術を使った仮想通貨に触れてみたい!ということで、興味本位と勉強がてらに仮想通貨のマイニングをやってみました。

なお、CentOS7を入れたVPSがあれば、マイニングのための準備やら設定は5分で終了します。

やることは次の3つです。

  1. MinerGateに登録
  2. CentOS7にマイニングソフトをインストール
  3. マイニングしたい通貨を決めて実行

必要なもの

必要なものは次の3つです。

  1. VPS(ここではCentOS7)
  2. メールアドレス
  3. SSH接続や最低限のコマンドの知識

MinerGateに登録

仮想通貨をマイニングするためには、マイニングするソフトと採掘した仮想通貨を入れる財布的なものが必要なんですが、自前で準備するのは大変なので、一番手っ取り早く始められるマイニングサービスであるMinerGateを利用します。

MinerGateの特徴

  • 無料で利用できる
  • メールアドレスの登録のみでOK(住所・名前・電話番号等は不要)
  • 速攻始められるマイニングツールが準備されている

登録方法

MinerGateにアクセスして、画面右上にある「Sign up」(現在は緑のボタン)をクリックします。
  1. 任意のメールアドレスとパスワードを入力
  2. 指定したメールボックスで受信したメールを開いてアカウント認証

これでMinerGateへの登録は終了です。

CentOS7にマイニングソフトをインストール

お使いのVPS(ここの説明ではOSはCentOS7)にマイニングソフトをインストールします。

まずは、VPSにSSH接続してください(ちなみに、私は以下の操作をスーパーユーザー(root)で行いました)。

マイニングソフトのダウンロード

MinerGateにアクセス→上部バーにある「Downloads」→ページ上部よりちょい下にあるメニューバーから「Console miners」→「Fedora」の所にあるダウンロードリンクのURLを調べる。

2017年4月21日現在、次のようになっています。

https://minergate.com/download/rpm-cli

したがって、次のようにしてマイニングソフトをVPSにダウンロードします。

# wget https://minergate.com/download/rpm-cli -O minergate-cli.rpm

そして次のようにマイニングソフトをインストールします。

# rpm -ivh minergate-cli.rpm

このとき、私はこのようなエラーが表示されました。

error: Failed dependencies:
libXrender.so.1()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libmtdev.so.1()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libproxy.so.1()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libxcb-icccm.so.4()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libxcb-image.so.0()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libxcb-keysyms.so.1()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libxcb-sync.so.0()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64

これは、これらの必要なものがないぞ!ということなので、次のようにyumにあるか検索します。

# yum provides libXrender.so.1 \
libmtdev.so.1 \
libproxy.so.1 \
libxcb-icccm.so.4 \
libxcb-image.so.0 \
libxcb-keysyms.so.1 \
libxcb-sync.so.0

このときに表示された情報。

libXrender-0.9.8-2.1.el7.i686 : X.Org X11 libXrender runtime library
Repo : base
Matched from:
Provides : libXrender.so.1

mtdev-1.1.5-5.el7.i686 : Multitouch Protocol Translation Library
Repo : base
Matched from:
Provides : libmtdev.so.1

libproxy-0.4.11-10.el7.i686 : A library handling all the details of proxy
: configuration
Repo : base
Matched from:
Provides : libproxy.so.1

xcb-util-wm-0.4.1-5.el7.i686 : Client and window-manager helper library on top
: of libxcb
Repo : base
Matched from:
Provides : libxcb-icccm.so.4

xcb-util-image-0.4.0-2.el7.i686 : Port of Xlib's XImage and XShmImage functions
: on top of libxcb
Repo : base
Matched from:
Provides : libxcb-image.so.0

xcb-util-keysyms-0.4.0-1.el7.i686 : Standard X key constants and keycodes
: conversion on top of libxcb
Repo : base
Matched from:
Provides : libxcb-keysyms.so.1

compat-libxcb-1.9-1.el7.i686 : A C binding to the X11 protocol
Repo : base
Matched from:
Provides : libxcb-sync.so.0

上記情報からyumでインストールできることが分かったので、次のようにインストールします。

省略(クリックで開閉)
# yum install -y libXrender-0.9.8-2.1.el7.i686 \
mtdev-1.1.5-5.el7.i686 \
libproxy-0.4.11-10.el7.i686 \
xcb-util-wm-0.4.1-5.el7.i686 \
xcb-util-image-0.4.0-2.el7.i686 \
xcb-util-keysyms-0.4.0-1.el7.i686 \
compat-libxcb-1.9-1.el7.i686

ここから上のパッケージがだだだーってインストールされるので、終了するまで待つ。

最後に「Complete!」と表示されたら終了なので、再度インストールを試みます。

# rpm -ivh minergate-cli.rpm

私は、ここでも再度同じようなエラーが表示されました。

error: Failed dependencies:
libXrender.so.1()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libmtdev.so.1()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libproxy.so.1()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libxcb-icccm.so.4()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libxcb-image.so.0()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libxcb-keysyms.so.1()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64
libxcb-sync.so.0()(64bit) is needed by minergate-cli-6.2_gcc4-1.x86_64

また同じように必要なパッケージをインストールしてもこれらのエラーの繰り返しだったので、パッケージ丸ごと全部入れることにしました。

上の青文字部分「省略」は、インストールで失敗した不要な部分なので省略しています。気にせずに下から続けてください。

# yum install -y libXrender \
mtdev \
libproxy \
xcb-util-wm \
xcb-util-image \
xcb-util-keysyms \
compat-libxcb

最後に「Complete!」と表示されたら終了なので、再度インストールにチャレンジします。

# rpm -ivh minergate-cli.rpm

このとき、次のように表示されればインストールは無事終了です。

Preparing... ################################# [100%]
Updating / installing...
1:minergate-cli-6.2_gcc4-1 ################################# [100%]

なお、次のコマンドで「minergate-cli」のマニュアルを参照できます(この記事の最後にマニュアルを全文載せています)。

# minergate-cli

マイニングしたい通貨を決めて実行

MinerGateへの登録、マイニングソフトのインストールが終わったので、いよいよ仮想通貨をマイニングしてみましょう。

マイニングに関する基本コマンドは以下です。

$ minergate-cli --user メールアドレス --採掘したい通貨 計算に使うコア数

Moneroのマイニング

さて、どの仮想通貨をマイニング(採掘)しようか?と色々調べてみたのですが、Moneroという通貨は「CryptoNight」という採掘アルゴリズムを利用しており、

これはVPSでも採掘できる(CPUレベルでも採掘できる)ようなので、Moneroという仮想通貨をマイニングすることにしました(他の通貨の採掘にはGPUが必要で、CPUでは採掘できません)。

# minergate-cli --user hogehoge@piyopiyo.jp --xmr 1
  • hogehoge@piyopiyo.jp → あなたがMinerGateに登録するときに使ったメールアドレスに変更してください
  • xmr → Moneroの採掘用名です
  • 1 → CPUのコア数(私が使っているVPSは2コアなので、そのうちの1つを採掘用に指定しました)

マイニングのようす

現在、ターミナル上で次のようにマイニングが実行されているはずです。

XMR hashrate: 28.00 H/s
XMR hashrate: 29.60 H/s
XMR hashrate: 29.80 H/s
XMR hashrate: 31.53 H/s
XMR hashrate: 29.80 H/s
XMR hashrate: 30.90 H/s

「〇〇 H/s」はハッシュレートといい、1秒間での採掘速度を表し、高い数値ほど採掘する仮想通貨の量が多くなります。

もっと具体的に言うと、30H/sというのは、1秒間に30回ハッシュ計算を行っているということです(そもそもマイニングとは、ブロックのキーにあうハッシュ値(確かゼロが32回以上連続で続くデータ)を探す行為です)。

なお、採掘した仮想通貨(この場合ではMoneroの量)は、MinerGateにアクセス→上部バーにある「Dashboard」で確認できます。

以上、VPSでマイニングをする方法でした。

経過報告に乞うご期待

現在ひたすら私のVPSがマイニングを実行しているので、しばらくたったら経過報告を入れたいと思います!

なお、下の画像にある仮想通貨が現在私が採掘しているもので、「H/s」が現在のハッシュレートです(MinerGateの管理画面からこの画像を手に入れられます)。

I'm mining on MinerGate - the best cryptonote mining pool

「minergate-cli」コマンドのマニュアル

「minergate-cli」のマニュアルを以下に全文載せておきます。マイニングのチューニングや方法でわからないことがあったら、これを見ればだいたいは解決すると思います。

Usage:

  minergate-cli [options] <currency-settings> <gpu-settings>

Options:
  -u,   --user          account email from minergate.com
  -v,   --version       show version
  -l,   --list-gpu      show list of available GPU devices
  --proxy               proxy server URL. Supports only socks protocols
                        (for example: socks://192.168.0.1:1080
  --verbose             show detailed logs

Currency settings:
  --currency <threads>
  currency              possible values: eth bcn xmr qcn xdn fcn mcn aeon dsh inf8.
                        For merged mining: <mm_cc>+qcn <mm_cc>+dsh <mm_cc>+inf8,
                        where <mm_cc> is fcn or mcn
  <threads>             threads count for specified currency

Gpu settings:
  --gpu# <currency> [intensity <intensity>] [cuda-gridsize <cuda-gridsize>]
                        [cuda-worksize <cuda-worksize>] [cl-localsize <cl-localsize>]
                        [cl-globalsize <cl-globalsize>]
  gpu#                  you can get this value from the list displayed
                        by command --list-gpu
  currency              possible values: eth bcn xmr qcn xdn fcn mcn aeon dsh inf8.
                        For merged mining:  <mm_cc>+qcn <mm_cc>+dsh <mm_cc>+inf8,
                        where <mm_cc> is fcn or mcn
  intensity             this parameter is used for mining CryptoNote-based
                        currencies on CUDA devices.
                        Value's range: 1..4. Recommended and default value: 2.
                        When no value is set, the client uses default value
  cl-localsize          OpenCL device parameter 'local work size'.
                        Can be power of 2 only
  cl-globalsize         multiplier for OpenCL device parameter 'global work size'
  cuda-gridsize         CUDA device parameter 'grid size'
  cuda-worksize         CUDA device parameter 'work size'
Examples:
  minergate-cli -u minergate@minergate.com --proxy socks://192.168.0.1:1080 --bcn 4
  minergate-cli --user minergate@minergate.com --eth 6 --fcn+dsh 2 --gpu1 eth cl-localsize 64 cl-globalsize 4096 --gpu2 bcn intensity 2

 

あわせて読んでほしい!

 

コメント

1:peacifist:2017/08/07 17:27:57

貴重な情報をありがとうございます。
前から借りているサーバでマイニング出来ないか記事を探していました。
借りているレンタルサーバはWCSパブリッククラウドと言うプランですが、OSはCentOS 7.1です。
VPSと同じようにマイニング可能でしょうか?
SSHでアクセス出来るサーバです。

2:管理人:2017/08/07 20:24:16

peacifistさんこんばんは。

「WCSパブリッククラウド」でマイニングできるか直接試していませんが、
・管理者権限がついていること
・OSがCentOS7であること
から物理的には可能です。あとはサーバーの運営会社がCPUの常時使用に寛容かどうかですね・・・

既にサーバーを借りられているのであれば、元手ゼロなのでチャレンジする価値はあると思います(新規に借りる場合は、確実にマイニングできるサーバー屋がいいと思います)。

3:peacifist:2017/08/08 8:31:25

ありがとうございます。
参考にします。

4:mattre:2017/09/03 8:21:22

とてもわかりやすい説明ありがとうございました。
マイニングを止めたいときはどうすればいいでしょうか?
よろしくお願いします。

5:管理人:2017/09/03 8:49:32

mattreさん
マイニングしているプロセスのIDを見つけてそのプロセスを終了させることでマイニングを終了できます。

具体的には・・・・
↓「minergate」というワードを含むプロセスを検索
ps aux | grep minergate

↓表示されたプロセスIDを指定してプロセス終了
kill ***

6:mattre:2017/09/03 11:56:41

ありがとうございます!

7:名無しさん:2017/12/27 11:23:35

yum localinstall minergate-cli.rpm
で依存関係を自動解決してくれます

8:管理人:2018/02/20 17:39:14

なるほど、「localinstall」で動かしたいソフトの依存関係を自動で解決してくれるのですね!
ご教授ありがとうございます。

9:kafka:2021/02/01 5:29:17

とても分かりやすい説明ありがとうございます。
ソフトインストール時に以下の依存関係のエラーが出てしまうのですが、どうすればよいでしょうか。
パッケージ名を調べてみましたがヒットせず。。。

libcuda.so.1()(64bit)
libstdc++.so.6(CXXABI_1.3.8)(64bit)
libstdc++.so.6(CXXABI_1.3.9)(64bit)
libstdc++.so.6(GLIBCXX_3.4.21)(64bit)

コメントフォーム
お名前
コメント