CentOS Linux で BitZeny をマイニングしてみる
以前、Monero (XMR) をマイニングするために MinerGate というソフトを Windows・Mac で動かしたりしていた。結果、GeForce GTX1080 では換金ラインまで貯めるのがしんどすぎて止めてしまった。
GPU マイニングはしんどいので、CPU でマイニングができるという BitZeny という暗号通貨をマイニングしてみた。コチラも旬は過ぎているのだが、お試しということで。
2021-01-07 : BitZeny Wallet はセキュリティ上の懸念がありサービスが停止している。lapool.me もサイトが失効しているのか、アクセスできなくなっていた。この当時試してみた記録としてお楽しみください。
目次
- BitZeny Wallet を登録する
- LA BitZeny Pool に登録する
- CentOS Linux に CPU Miner をインストールする
- とりあえずマイニングを始めてみる
- CPU 使用率を制限してみる
- バックグラウンドで動作させる
- ウォレットへの払い出し
- コレで一体いくら稼げるのか?
BitZeny Wallet を登録する
まずは BitZeny を保管するオンライン・ウォレットを作成する。
ウォレットアドレスが入手できたら、以下の Faucet でウォレットがちゃんと使えるか試してみよう。
LA BitZeny Pool に登録する
続いて、BitZeny のマイナープールで有名な LA Pool に登録する。
アカウント登録後、「Worker」を作成する。コレは、マイニングを行っているマシンを識別するための情報で、マシンごとに任意の
- Worker Name
- Worker Password
を作成する。今回はとりあえず1つ作っておけば良いだろう。
CentOS Linux に CPU Miner をインストールする
BitZeny を CPU マイニングするための CPU Miner というツールを、CentOS Linux にインストールしていく。
# 以降 root ユーザで作業する
$ sudo su -
# 事前に必要なパッケージをインストールする
$ yum update -y
$ yum install -y git gcc automake autoconf libcurl-devel openssl-devel jansson-devel gawk
# CPU Miner をダウンロードしてくる
$ git clone https://github.com/bitzeny/cpuminer cpuminer
$ cd cpuminer/
# セットアップしていく
$ ./autogen.sh
configure.ac:15: installing './compile'
configure.ac:4: installing './config.guess'
configure.ac:4: installing './config.sub'
configure.ac:6: installing './install-sh'
configure.ac:6: installing './missing'
Makefile.am:12: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
Makefile.am: installing './INSTALL'
Makefile.am: installing './depcomp'
$ ./configure
checking build system type... x86_64-unknown-linux-gnu
# …中略…
checking for curl_free... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating compat/Makefile
config.status: creating compat/jansson/Makefile
config.status: creating cpuminer-config.h
config.status: executing depfiles commands
$ make
make all-recursive
make[1]: Entering directory `/root/cpuminer'
Making all in compat
make[2]: Entering directory `/root/cpuminer/compat'
make[3]: Entering directory `/root/cpuminer/compat'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/root/cpuminer/compat'
make[2]: Leaving directory `/root/cpuminer/compat'
make[2]: Entering directory `/root/cpuminer'
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -g -O2 -MT minerd-cpu-miner.o -MD -MP -MF .deps/minerd-cpu-miner.Tpo -c -o minerd-cpu-miner.o `test -f 'cpu-miner.c' || echo './'`cpu-miner.c
mv -f .deps/minerd-cpu-miner.Tpo .deps/minerd-cpu-miner.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -g -O2 -MT minerd-util.o -MD -MP -MF .deps/minerd-util.Tpo -c -o minerd-util.o `test -f 'util.c' || echo './'`util.c
mv -f .deps/minerd-util.Tpo .deps/minerd-util.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -g -O2 -MT minerd-sha2.o -MD -MP -MF .deps/minerd-sha2.Tpo -c -o minerd-sha2.o `test -f 'sha2.c' || echo './'`sha2.c
mv -f .deps/minerd-sha2.Tpo .deps/minerd-sha2.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -g -O2 -MT minerd-scrypt.o -MD -MP -MF .deps/minerd-scrypt.Tpo -c -o minerd-scrypt.o `test -f 'scrypt.c' || echo './'`scrypt.c
mv -f .deps/minerd-scrypt.Tpo .deps/minerd-scrypt.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -g -O2 -MT minerd-yescrypt.o -MD -MP -MF .deps/minerd-yescrypt.Tpo -c -o minerd-yescrypt.o `test -f 'yescrypt.c' || echo './'`yescrypt.c
In file included from yescrypt-best.c:2:0,
from yescrypt.c:22:
yescrypt-simd.c:37:2: warning: #warning "Consider enabling SSE4.1, AVX, or XOP in the C compiler for significantly better performance" [-Wcpp]
#warning "Consider enabling SSE4.1, AVX, or XOP in the C compiler for significantly better performance"
^
mv -f .deps/minerd-yescrypt.Tpo .deps/minerd-yescrypt.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -g -O2 -MT minerd-sha2-x64.o -MD -MP -MF .deps/minerd-sha2-x64.Tpo -c -o minerd-sha2-x64.o `test -f 'sha2-x64.S' || echo './'`sha2-x64.S
mv -f .deps/minerd-sha2-x64.Tpo .deps/minerd-sha2-x64.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -g -O2 -MT minerd-scrypt-x64.o -MD -MP -MF .deps/minerd-scrypt-x64.Tpo -c -o minerd-scrypt-x64.o `test -f 'scrypt-x64.S' || echo './'`scrypt-x64.S
mv -f .deps/minerd-scrypt-x64.Tpo .deps/minerd-scrypt-x64.Po
gcc -std=gnu99 -g -O2 -pthread -o minerd minerd-cpu-miner.o minerd-util.o minerd-sha2.o minerd-scrypt.o minerd-yescrypt.o minerd-sha2-x64.o minerd-scrypt-x64.o -lcurl -ljansson -lpthread
make[2]: Leaving directory `/root/cpuminer'
make[1]: Leaving directory `/root/cpuminer'
$ make install
Making install in compat
make[1]: Entering directory `/root/cpuminer/compat'
make[2]: Entering directory `/root/cpuminer/compat'
make[3]: Entering directory `/root/cpuminer/compat'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/root/cpuminer/compat'
make[2]: Leaving directory `/root/cpuminer/compat'
make[1]: Leaving directory `/root/cpuminer/compat'
make[1]: Entering directory `/root/cpuminer'
make[2]: Entering directory `/root/cpuminer'
/bin/mkdir -p '/usr/local/bin'
/bin/install -c minerd '/usr/local/bin'
/bin/mkdir -p '/usr/local/share/man/man1'
/bin/install -c -m 644 minerd.1 '/usr/local/share/man/man1'
make[2]: Leaving directory `/root/cpuminer'
make[1]: Leaving directory `/root/cpuminer'
ココまでやったらセットアップ完了。以下のコマンドで CPU Miner (minerd
) が動作するか確認する。
$ ./minerd --help
そしたら、マイニングするユーザ情報を記録した JSON ファイルを作成する。ファイル名は適当に setting.json
としておく。
setting.json
{
"algo" : "yescrypt",
"url" : "stratum+tcp://jp.lapool.me:3014",
"user" : "【LA BitZeny Pool の User 名】.【Worker 名】",
"pass" : "【Worker Password】"
}
LA BitZeny Pool に登録した各種情報が必要になる。
url
プロパティに指定する URL は、LA BitZeny Pool の管理画面にある「ポート一覧」より確認できる。- 参考 : LA Bitzeny Pool - Home
- ハッシュレートに応じて難易度が調整されている。上で書いてあるのは yescript-0.5 アルゴリズムによる、Difficulty 0.1 のポート
user
プロパティはuser_name.worker_name
とピリオド.
で繋いで記述するpass
プロパティは Worker のパスワードを入れる- LA BitZeny Pool の画面で登録しておいた Worker 情報を指定する
とりあえずマイニングを始めてみる
以上の設定を行ったら、次のようにコマンドを叩くとマイニングが開始される。
$ ./minerd --config setting.json
[2020-01-07 14:21:01] 2 miner threads started, using 'yescrypt' algorithm.
[2020-01-07 14:21:01] Starting Stratum on stratum+tcp://jp.lapool.me:3014
[2020-01-07 14:21:01] Binding thread 1 to cpu 1
[2020-01-07 14:21:01] Binding thread 0 to cpu 0
[2020-01-07 14:21:36] thread 0: 4096 hashes, 0.12 khash/s
[2020-01-07 14:21:37] thread 1: 4096 hashes, 0.12 khash/s
[2020-01-07 14:22:37] thread 0: 7183 hashes, 0.12 khash/s
[2020-01-07 14:22:37] thread 1: 7122 hashes, 0.12 khash/s
[2020-01-07 14:23:36] thread 1: 7073 hashes, 0.12 khash/s
[2020-01-07 14:23:36] thread 0: 7148 hashes, 0.12 khash/s
[2020-01-07 14:23:39] Stratum requested work restart
[2020-01-07 14:23:39] thread 0: 302 hashes, 0.12 khash/s
[2020-01-07 14:23:39] thread 1: 310 hashes, 0.12 khash/s
[2020-01-07 14:23:51] Stratum requested work restart
[2020-01-07 14:23:51] thread 0: 1438 hashes, 0.12 khash/s
[2020-01-07 14:23:51] thread 1: 1434 hashes, 0.12 khash/s
[2020-01-07 14:24:03] Stratum requested work restart
[2020-01-07 14:24:03] thread 1: 1423 hashes, 0.12 khash/s
[2020-01-07 14:24:03] thread 0: 1436 hashes, 0.12 khash/s
[2020-01-07 14:25:03] thread 1: 7132 hashes, 0.12 khash/s
[2020-01-07 14:25:04] thread 0: 7182 hashes, 0.12 khash/s
[2020-01-07 14:25:57] Stratum requested work restart
[2020-01-07 14:25:57] thread 1: 6081 hashes, 0.11 khash/s
[2020-01-07 14:25:57] thread 0: 5882 hashes, 0.11 khash/s
[2020-01-07 14:26:03] Stratum requested work restart
[2020-01-07 14:26:03] thread 1: 699 hashes, 0.12 khash/s
[2020-01-07 14:26:03] thread 0: 630 hashes, 0.10 khash/s
[2020-01-07 14:26:59] thread 0: 6287 hashes, 0.11 khash/s
[2020-01-07 14:27:04] thread 1: 6907 hashes, 0.11 khash/s
[2020-01-07 14:27:58] thread 0: 6555 hashes, 0.11 khash/s
[2020-01-07 14:27:58] accepted: 1/1 (100.00%), 0.22 khash/s (yay!!!)
[2020-01-07 14:28:04] thread 1: 6769 hashes, 0.11 khash/s
別ウィンドウを開いて ps
コマンドを叩いてみると、minerd
というプロセスが動いているのが分かるだろう。
数分待って、(yay!!!)
といった出力が出ていれば、マイニングが出来ている。しばらくすると LA BitZeny Pool の Dashboard で、獲得した BitZeny が確認できるようになる。
自分の場合、マイニングを始めてから5・6分で、 0.008742 ZNY が Unconfirmed として追加された。コレは本稿執筆時点で0.0005996円程度に相当する (……少なすぎない?w)。
マイニングできることが分かったら、Ctrl + C
で終了しよう。
CPU 使用率を制限してみる
マイニングを始めると、minerd
プロセスが起動してガンガン CPU を使い始める。クラウド上の VM なんかでガンガンに CPU を使ったりしていると何となくアレなので、cpulimit というツールを使って、CPU 使用率でプロセスの動作を制限してみようと思う。
# CPU Limit をインストールする
$ yum install -y cpulimit
# CPU 使用率を 80% に制限してマイニングを行う
$ cpulimit -l 80 -- ./minerd --config setting.json
こんな感じ。
別ウィンドウを開いたりして top
コマンドを使って確認すると、CPU 使用率が制限できているのが分かるかと。
バックグラウンドで動作させる
さて、ココまでのやり方だと、プロセスはフォアグラウンドで動いていて、SSH 接続時はログアウトとともにマイニングが終了してしまう。そこで、プロセスをバックグラウンドで起動し、ログアウトして SSH 接続を切断した後も minerd
プロセスが動きっぱなしになるようにしてみる。
# CPU Limit を使わないでバックグラウンド実行する場合
$ nohup ./minerd --config setting.json &
[1] 9067
nohup: 入力を無視し、出力を `nohup.out' に追記します
# (Enter で抜ける)
# CPU 使用率を制限しながらバックグラウンド実行する場合
$ nohup cpulimit -l 80 -- ./minerd --config setting.json &
[1] 9067
nohup: 入力を無視し、出力を `nohup.out' に追記します
# (Enter で抜ける)
nohup
でバックグラウンド実行している際の標準出力は nohup.out
というファイルに順次追記されていくので、
$ tail -f nohup.out
とかすればバックグラウンドでの動作状況が確認できる。
ウォレットへの払い出し
マイニングで獲得した BitZeny は、LA BitZeny Pool の管理画面より、指定のウォレットアドレスへ払い出せる。LA BitZeny Pool に貯めておくよりは、定期的にウォレットに移しておくと良いだろう。
BitZeny からの換金はまだ試していないが、BitZeny を取り扱っている取引所で BitCoin 等に換金し、それを日本円に換金すれば現金化できそう。
コレで一体いくら稼げるのか?
さて、CPU Miner の動かし方が分かったので、コレでガンガンマイニングしてみよう。
今回は、OCI の Always Free インスタンス2台で、24時間マイニングしてみた。
その結果採掘できた金額は、6.761123 ZNY だった (うち、Confirmed となった額は 5.94 ZNY)。コレは本稿執筆時点の日本円に換算して0.4812円程度。
永久無料で使える VM だと、2台がかりで1日0.5円かぁ〜…。
やめた。笑〃
- 参考 : https://toushi.tokyo/centos%E3%81%A7%E3%83%93%E3%83%83%E3%83%88%E3%82%BC%E3%83%8B%E3%83%BC%EF%BC%88zny%EF%BC%89%E3%82%92%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/
- 参考 : 【BitZeny】Ubuntu/Linuxでマイニングを始める方法! | BomBox
- 参考 : BitZenyをWindowsやLinuxでマイニングして手に入れる方法 | My Coin .jp
- 参考 : SA BitZeny Faucet
- 参考 : Ubuntu/LinuxでBitzenyをマイニングする方法をわかりやすく紹介! | TEMLOG -テムログ-
- 参考 : LA Poolへの登録と設定 - Sha1coin Unofficial Wiki
- 参考 : 採掘プールの見方 - Sakuracoin 非公式wiki - アットウィキ