こんにちは。
皆さん草コイン掘ってますか?
今回は Nano Pi Neo を使って BitZeny(ZNY) の採掘を行えるようにしたいと思います。
Nano Pi は Raspberry Pi と互換のあるとても小さなワンボードマイコンの一種です。
どれくらい小さいのかというと、100円玉2枚の幅に収まるサイズ感です(奥行・幅)
比較的新しい Nano Pi NEO2 でもこんなサイズ感です。
価格帯もとても安く、秋葉原にある秋月電子で
NanoPi Neo が大体 1680円で、NenoPi Neo2 が 2400円ほどで販売していました。
NanoPiで動くLinuxのOSイメージを入れる microSDカードが 8GB 600円くらいだったので、
合計すると
- NanoPi Neo で 2000円 くらい
- NenoPi Neo2 で 3000円 くらい
の予算感でマイニングに使えるマシンを手に入れる事ができます。
今回はこの NaniPi に マイニングソフトを入れて採掘を行っていきたいと思います。
NanoPi を購入したら最初にやることは、OSイメージを microSD カードに焼くことです。
購入するマシンによってイメージデータが違うので注意下さい
NanoPi Neo
- http://dl.friendlyarm.com/nanopineo
NanoPi Neo2
- http://dl.friendlyarm.com/nanopineo2
よりoffical-ROMs からイメージをダウンロードしておきます。
なお今回作業するのは NanoPi Neo 3台にイメージの書き込みを行っていくので、microSDカードへのイメージの書き込み作業は3回実施します
今回は私のメインマシンである macOS からの焼き込み例になります。
もし他のOSを利用している場合は、公式のWiki などを参考にイメージを書き込みましょう
Macにsdカードを入れて diskutil コマンドを使って状態を確認します
$ diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 500.1 GB disk0s2
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +500.1 GB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD 190.9 GB disk1s1
2: APFS Volume Preboot 20.5 MB disk1s2
3: APFS Volume Recovery 517.8 MB disk1s3
4: APFS Volume VM 2.1 GB disk1s4
/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *7.9 GB disk2
1: DOS_FAT_32 NO NAME 7.9 GB disk2s1
今回は disk2 のデバイスに認識されているようなので、一旦OSからはunmountします
$ sudo diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
無事にアンマウントができたら、先程ダウンロードしてきたイメージを書き込みます。
$ time sudo dd bs=1m if=nanopi-neo2_ubuntu-tft_4.14.0_20180511.img of=/dev/rdisk2
real 4m11.718s
user 0m0.035s
sys 0m1.506s
大体1枚書き込むのに4-5分ちょっとかかるようです。
なお、dd コマンドを実施中に Ctrl-T を入力することで、進捗状況が分かるため止まったかな?と思ったら C-t を入力してみると良いかもしれません。
# CTRL-Tの入力
------
load: 2.25 cmd: dd 12298 uninterruptible 0.00u 0.02s
29+0 records in
28+0 records out
29360128 bytes transferred in 2.882059 secs (10187206 bytes/sec)
load: 2.25 cmd: dd 12298 uninterruptible 0.00u 0.03s
50+0 records in
49+0 records out
51380224 bytes transferred in 4.582181 secs (11213050 bytes/sec)
:
:
3031433216 bytes transferred in 246.688665 secs (12288498 bytes/sec)
3719+1 records in
3719+1 records out
3899999232 bytes transferred in 314.643748 secs (12394968 bytes/sec)
-------
さて、sdカードへ書き込んでいる間に、BitZenyの受信用アドレスの生成をしておきましょう
Walletを起動し、入金よりラベルを入力して「支払いをリクエストする」を押しましょう
これで受信用アドレスの生成ができました。
下記画面のようにダイアログがでるので「アドレスをコピーする」よりクリップボードにアドレスをコピーしてメモ帳などに保存しておきましょう
microSDカードへ書き込みが終わったら NanoPi を起動させましょう。
私の手元には低電圧なスイッチングハブがあったので、これにLANケーブルを挿して起動させることにしました
microUSBから電源を供給し、LAN に繋ぐとDHCPからIPが発行されるので、そこに接続します。
piユーザでパスワードもpiでログインできます
私の場合は neo101 - neo103 で内部のホスト名を設定しておいたので下記のようにログインしました
$ ssh pi@neo103
Ubuntu 16.04.2 LTS
Default Login:
Username = pi
Password = pi
pi@neo103's password:
(なお root ログインの場合のパスワードは fa です)
起動したばかりだと素のイメージなのでライブラリを入れていきます。
またこの時の作業は pssh などを使うと便利でした
$ sudo apt-get update
$ sudo apt-get install -y git openssl
$ sudo apt-get install -y g++ make automake autoconf m4
$ sudo apt-get install -y autotools-dev
$ sudo apt-get install -y pkg-config build-essential
$ sudo apt-get install -y python-software-properties
$ sudo apt-get install -y libssl-dev libcurl4-openssl-dev
$ sudo apt-get install -y libjson0 libjson0-dev libjansson-dev
$ sudo apt-get install -y libgmp-dev libgmp3-dev
(このあたりは前回と同じ)
今回使用するのは macchky さんが公開されているおなじみの cpuminer を使います
https://github.com/macchky/cpuminer
ビルドは下記のように実施します
$ mkdir zeny
$ cd zeny
$ git clone https://github.com/macchky/cpuminer
$ cd cpuminer/
$ ./autogen.sh
$ ./nomacro.pl
$ ./configure CFLAGS="-O3"
$ make
make が走り終わると、 minerd が作られていれば正常にビルドできています。
もし途中で下記のようなエラーメッセージがでたり、もしビルドに失敗する場合は apt-get install を最初からやり直してみると良いかもしれません
pi@NanoPi-NEO:~/zeny/cpuminer$ ./autogen.sh
configure.ac:13: 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: installing './INSTALL'
Makefile.am: installing './depcomp'
configure.ac:127: error: possibly undefined macro: AC_MSG_ERROR
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
さて、ビルドも完了したら、後はマイニングのみです。
今回はユーザ登録不要な NOMP 型のマイニングプールを使用します。
手数料もなく、ラズパイなどからでも使いやすい難易度が利用できる NOMP.ZNY.powerpool を使用します。
登録が不要なので、先程作った受信用アドレスを使い
./minerd -a yescrypt -o stratum+tcp://nomp.zny.powerpool.jp:16030 -u Ze8yajDuMrwHURPKgALWRtxnhG1nXFjZU9
のように入力し実行します。
無事 yay! の表示が出ていれば採掘は成功です。
なお、今回は必要ありませんが、Zenyのアドレスに ドット(.) をつけてマシン名とかを利用すると、workerのステータスページが見やすくなります。
例えば、私の場合は今回3台あるのでそれぞれ
# nano101
./minerd -a yescrypt -o stratum+tcp://nomp.zny.powerpool.jp:16030 -u Ze8yajDuMrwHURPKgALWRtxnhG1nXFjZU9.nano101
# nano102
./minerd -a yescrypt -o stratum+tcp://nomp.zny.powerpool.jp:16030 -u Ze8yajDuMrwHURPKgALWRtxnhG1nXFjZU9.nano102
# nano103
./minerd -a yescrypt -o stratum+tcp://nomp.zny.powerpool.jp:16030 -u Ze8yajDuMrwHURPKgALWRtxnhG1nXFjZU9.nano103
のようにします。
4コアある CPU なのですが、さすがに性能はでませんでした。
大体 0.05 - 0.07 Kh/s あたりを推移しているようです。
さて今回は3台だけですが、低価格ということも活かして数十台の同時に動かしたいです。
また電源をいれるだけで採掘を開始できるようにすると便利そうです。
それを実現するために shellスクリプトを用意しましょう
$ vi /tmp/zeny.sh
記入する内容は下記のようにします(アドレスは適宜修正ください)
#!/bin/bash
/home/pi/zeny/cpuminer/minerd -a yescrypt -o stratum+tcp://nomp.zny.powerpool.jp:16030 -u Ze8yajDuMrwHURPKgALWRtxnhG1nXFjZU9
入力ができたら実行ビットを立て /usr/local/bin に入れておきます
$ sudo chmod a+x /tmp/zeny.sh
$ sudo mv /tmp/zeny.sh /usr/local/bin
次に init へ登録します
$ sudo sed -i s/'exit 0'//g /etc/rc.local
$ echo "su - pi -c /usr/local/bin/zeny.sh" | sudo tee -a /etc/rc.local
$ echo "exit 0" | sudo tee -a /etc/rc.local
さて、ここまで出来たら、再起動して正常に動くか確認してみましょう
$ sudo shutdown -r now
性能はとても低いですが、2000円から3000円という低価格帯でマイニングできるマシンを手に入れることができました。
NanoPi である小ささも活きてくるため、私は本棚の隙間に設置して動かすことにしました。
今回は 3台だけの例でしたが、もっと数を増やして10台20台となっていったら面白そうですよね。
それでは
Have a Fun!
ちなみに 私の bitzeny のアドレスはこちらです
Ze8yajDuMrwHURPKgALWRtxnhG1nXFjZU9
bitzeny:Ze8yajDuMrwHURPKgALWRtxnhG1nXFjZU9
ちなみに 過去記事はこちら → https://alis.to/users/eito