クリプト

NanoPi でクラスタを組んで BitZeny マイニングする!

eito's icon'
  • eito
  • 2018/05/20 17:22

こんにちは。

皆さん草コイン掘ってますか?

今回は Nano Pi Neo を使って BitZeny(ZNY) の採掘を行えるようにしたいと思います。

そもそも Nano Pi とは

Nano Pi は Raspberry Pi と互換のあるとても小さなワンボードマイコンの一種です。

どれくらい小さいのかというと、100円玉2枚の幅に収まるサイズ感です(奥行・幅)

比較的新しい Nano Pi NEO2 でもこんなサイズ感です。

Content image
Content image

価格帯もとても安く、秋葉原にある秋月電子で

NanoPi Neo が大体 1680円で、NenoPi Neo2 が 2400円ほどで販売していました。

NanoPiで動くLinuxのOSイメージを入れる microSDカードが 8GB 600円くらいだったので、

合計すると

  - NanoPi Neo で 2000円 くらい

  - NenoPi Neo2 で 3000円 くらい

の予算感でマイニングに使えるマシンを手に入れる事ができます。

今回はこの NaniPi に マイニングソフトを入れて採掘を行っていきたいと思います。


OSイメージのダウンロード

NanoPi を購入したら最初にやることは、OSイメージを microSD カードに焼くことです。

購入するマシンによってイメージデータが違うので注意下さい

NanoPi Neo

  - http://dl.friendlyarm.com/nanopineo

NanoPi Neo2

  - http://dl.friendlyarm.com/nanopineo2

よりoffical-ROMs からイメージをダウンロードしておきます。

なお今回作業するのは NanoPi Neo 3台にイメージの書き込みを行っていくので、microSDカードへのイメージの書き込み作業は3回実施します

Content image



イメージの書き込み

今回は私のメインマシンである 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を起動し、入金よりラベルを入力して「支払いをリクエストする」を押しましょう

Content image

これで受信用アドレスの生成ができました。

下記画面のようにダイアログがでるので「アドレスをコピーする」よりクリップボードにアドレスをコピーしてメモ帳などに保存しておきましょう

Content image

NanoPi の起動

microSDカードへ書き込みが終わったら NanoPi を起動させましょう。

私の手元には低電圧なスイッチングハブがあったので、これにLANケーブルを挿して起動させることにしました

Content image
Content image
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のステータスページが見やすくなります。

Content image

例えば、私の場合は今回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 なのですが、さすがに性能はでませんでした。

Content image
無事 Cortex-A7で採掘できて一安心。

大体 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 である小ささも活きてくるため、私は本棚の隙間に設置して動かすことにしました。

Content image
音も出ず静音であるので気になることもありません。

今回は 3台だけの例でしたが、もっと数を増やして10台20台となっていったら面白そうですよね。

それでは

Have a Fun!



ちなみに 私の bitzeny のアドレスはこちらです

Ze8yajDuMrwHURPKgALWRtxnhG1nXFjZU9

bitzeny:Ze8yajDuMrwHURPKgALWRtxnhG1nXFjZU9


ちなみに 過去記事はこちら → https://alis.to/users/eito

公開日:2018/05/20
獲得ALIS:15.73
eito's icon'
  • eito
  • @eito
エイトーです。仮想通貨中心に為になる記事が書けたらいいなと思ってます。草コイン大好き。本業はプログラマ/エンジニア

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

【DeFi】複利でトークンを運用してくれるサイト

Like token Tip token
54.01 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

【初心者向け】JPYCを購入して使ってみました!

Like token Tip token
30.03 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

Eth2.0のステークによるDeFiへの影響を考える。

Like token Tip token
44.10 ALIS
Eye catch
クリプト

クリプトスペルズで入手したMCHCを引き出す方法

Like token Tip token
196.20 ALIS
Eye catch
クリプト

CoinList(コインリスト)の登録方法

Like token Tip token
15.55 ALIS
Eye catch
クリプト

UNISWAPでALISをETHに交換してみた

Like token Tip token
39.40 ALIS
Eye catch
クリプト

コインチェックに上場が決まったEnjin Coin(エンジンコイン)コインを解説

Like token Tip token
21.49 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

Uniswap(ユニスワップ)で$ALISのイールドファーミング(流動性提供)してみた

Like token Tip token
59.99 ALIS