1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Jetson Nano ではじめるCPUマイニング(BitZeny編)

Last updated at Posted at 2019-12-15

1. はじめに

  • 今回は、自分自身への備忘録を兼ねて、Jetson NanoでCPUマイニングをはじめる方法を、お伝えしたいと思います。

2. この記事を読んでできること

  • Jetson NanoでBitZeny(アルトコイン)をCPUマイニングできるようになる。

3. 必要なもの

  • Jetson Nano
  • SDカード(なるべく速いもの A1)
  • インターネット環境
  • パソコン(Windows10など)
  • sshクライアントソフト(TeraTerm

4. Jetson Nano Developer Kitのセットアップ

  • 公式のJetson Download Centerから、Jetson Nano Developer Kitイメージを入手し、Jetson Nanoのセットアップ(アカウント作成)まで済ませておきます。
  • 最近は、JetPack なる新たなイメージも登場しているようですので、おもむきに合わせてお選ぶのもよいでしょう。

参考:この記事作成時のファイルバージョン:nv-jetson-nano-sd-card-image-r32.2.3.zip

5. 下準備

  • 下準備として、Jetson Nanoのもろもろセットアップを済ませておきます。
  • Jetson Nanoにディスプレイ、キーボードおよびマウスを接続し、ターミナル(端末)を起動し、コマンド実行をおこないます。
コマンドプロンプト
// terminalの起動
Ctrl + Alt + T

// IPv4アドレスの確認
$ ifconfig

// IPv6無効化
$ sudo vi /etc/sysctl.conf

# 最終行にIPv6無効化を追記する
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

// ホスト名アクセス(ホスト名.local)の有効化
$ sudo apt install avahi-daemon

// OS再起動
$ sudo shutdown -r now

// 上記コマンド実行後は、sshクライアントから接続できると思います
- sshクライアントを利用しssh接続
- IPアドレス または ホスト名.local を利用

// リポジトリ一覧の更新
$ sudo apt update

// パッケージのアップグレード
$ sudo apt upgrade
途中、Yキー押下
途中、qキー押下

6. cpuminer/minerdのセットアップ

  • 以下のコマンドを順次実行し、cpuminer/minerdをセットアップします。
コマンドプロンプト
// gitインストール
$ sudo apt install git

// ディレクトリ移動
$ cd /opt/

// cpuminer-yescryptの取得
$ sudo git clone https://github.com/primenumber/cpuminer-yescrypt.git cpuminer

// ディレクトリ移動
$ cd /opt/cpuminer/

// gitブランチ切り替え
$ sudo git checkout bitzeny-neon

// gitブランチ確認
$ git branch

// automakeインストール
$ sudo apt install automake

// autoconfインストール
$ sudo apt install autoconf

// build-essentialインストール
$ sudo apt install build-essential

// gccコンパイラインストール
$ sudo apt install gcc

// libcurl4-openssl-devインストール
$ sudo apt install libcurl4-openssl-dev

// ビルド(メイク)
$ sudo ./autogen.sh

$ sudo ./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer"

$ sudo make

7. CPUマイニングの実行

  • 以下のコマンドを実行し、CPUマイニングを実行します。
コマンドプロンプト
// マイニング実行コマンドの例
$ /opt/cpuminer/minerd -a yescrypt -o stratum+tcp://zny.mofumofu.me:3332 -u Ztd9eoSVaX4pehagt5o9PRDnCYRAadbgxn
$ /opt/cpuminer/minerd -a yescrypt -o stratum+tcp://zny.mofumofu.me:3332 -u {この部分にご自身のBitZeny受信アドレスを設定}
  • 今回はオンラインウォレットの「BitZeny WALLET」を利用しました。
  • ウォレットをまだお持ちでない方は、「BitZeny WALLET」の「新規登録」リンクから新規登録をおこない、ウォレット内の「受信アドレス」からご自身の「BitZeny受信アドレス」をコピーしてお使いください。
  • マイニングプールについては、登録不要で使えるBitZenyのマイニングプール(NOMP:Node Open Mining Portal)である「mofumofu.me」を利用しています。

8. CPUマイニング成功時のログ

  • CPUマイニングに成功すると、「(yay!!!)」とログに出力されるかと思います。
  • ただし、マイニングに成功してもすぐにBitZeny受信アドレスに受け取り反映されるわけではありません。受け取り反映されるルールについては、利用するマイニングプールのルールによって異なります。Jetson NanoのCPU処理能力であれば、数時間から半日程度、気長に待ってみましょう。
マイニングプールの反映ルール例
最低支払額: 0.1 ZNY
支払間隔: 10分
使用手数料: 0.5%
支払方法: PROP

8. minerdの自動起動設定ファイルの新規作成

  • 手動でCPUマイニングを起動するのも面倒かと思いますので、systemdを利用した自動起動設定ファイルを新規作成します。
コマンドプロンプト
// 自動起動設定ファイルの新規作成
$ sudo vi /opt/minerd.service
/opt/minerd.serviceファイル内容
[Unit]
Description=minerd is executed and resides at OS startup.
After=network.target

[Service]
WorkingDirectory=/opt/cpuminer
ExecStart=/opt/cpuminer/minerd -a yescrypt -o stratum+tcp://zny.mofumofu.me:3332 -u Ztd9eoSVaX4pehagt5o9PRDnCYRAadbgxn.JetsonNano -t 3
Restart=always
Type=simple
TimeoutStopSec=5
StandardOutput=append:/tmp/minerd.log
StandardError=append:/tmp/minerd.log

[Install]
WantedBy=multi-user.target

9. minerdの起動確認&自動起動有効化

  • 作成した自動起動設定ファイルを所定のディレクトリに移動し、minerdの起動確認および有効化をおこないます。
コマンドプロンプト
// 自動起動設定ファイルを所定ディレクトリに移動
$ sudo mv /opt/minerd.service /etc/systemd/system/

// minerdの起動
$ sudo systemctl start minerd.service

// 起動状況確認(設定内容が正しいか動作確認します)
$ sudo systemctl status minerd.service


// minerdの自動起動有効化(再起動後に自動起動するようになります)
$ sudo systemctl enable minerd.service

// OS再起動
$ sudo shutdown -r now

// OS再起動後の実行ログ確認(残念ながらsystemdのバージョンが240に達していないため、ログは出力されていないようです。systemdのバージョンアップを待ちましょう。)
$ tail -f /tmp/minerd.log
  • 補足:minerd.serviceファイルの設定変更を反映する際は sudo systemctl daemon-reload コマンドを実行して反映する必要があります。
コマンドプロンプト
// minerd.serviceの編集
$ sudo vi /etc/systemd/system/minerd.service

// 設定ファイルの更新反映
$ sudo systemctl daemon-reload

// minerdのリスタート
$ sudo systemctl restart minerd.service

// 起動状況確認(設定内容が正しいか動作確認します)
$ sudo systemctl status minerd.service

10. おわりに

いかがでしたでしょうか?意外と簡単にCPUマイニングを始めることができたのではないかなと思います。
今回の記事が、みなさまの学習の参考になれば幸いです。

2019/12/15 TAKAHIRO NISHIZONO

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?