5
11

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 3 years have passed since last update.

Jetson Nano ではじめるGPUマイニング(Bitcoin編)

Last updated at Posted at 2021-03-09

1. はじめに

  • 今回は、前回のモナコイン編に引き続き、Bitcoin編として、自分自身への備忘録を兼ねて、Jetson NanoでGPUマイニングをはじめる方法を、お伝えしたいと思います。

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

  • Jetson NanoでBitcoinをGPUマイニングできるようになる。

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. ccminerのセットアップ

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

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

// ccminerを取得
$ git clone -b linux https://github.com/tpruvot/ccminer

// ディレクトリを移動
$ cd ccminer

// ビルド(1時間くらいかかる)
$ ./build.sh

// バージョンの確認
$ ./ccminer --version

===
*** ccminer 2.3.2 for nVidia GPUs by tpruvot@github ***
    Built with the nVidia CUDA Toolkit 10.0 64-bits

  Originally based on Christian Buchner and Christian H. project
  Include some kernels from alexis78, djm34, djEzo, tsiv and krnlx.

BTC donation address: 1AJdfCpLWPNoAMDfHF1wD5y8VgKSSTHxPo (tpruvot)

ccminer v2.3.2
libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
===

7. GPUマイニングの実行

  • 以下のコマンドを実行し、GPUマイニングを実行します。
コマンドプロンプト
// マイニング実行コマンドの例
$ ./ccminer -a sha256d -o stratum+tcp://sha256.jp.nicehash.com:3334 -u 1GDAXi4Z89dYfiT7rxqQYME8Btm1NPo9XS
$ ./ccminer -a {アルゴリズム} -o {マイニングアドレス} -u {ビットコインアドレス}
  • 今回はウェブウォレットの「Blockchain.com」を利用しました。
  • ウォレットをまだお持ちでない方は、あらかじめ自分のビットコインアドレスをご用意し、ご自身の「Bitcoin受信アドレス」をコピーしてお使いください。
  • マイニングプールについては、登録不要で使えるBitcoinのマイニングプール(NOMP:Node Open Mining Portal)である「NiceHash」を利用しています。

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

  • GPUマイニングに成功すると、「(yes!)」とログに出力されるかと思います。
  • PC用のグラフィックボードと比べ、GPU処理能力は高くないため、半月から1か月程度、気長に待ってみましょう。
「(yes!)」とログ出力されるはず
[2021-03-09 20:28:25] Starting on stratum+tcp://sha256.jp.nicehash.com:3334
[2021-03-09 20:28:25] GPU monitoring is not available.
[2021-03-09 20:28:25] 1 miner thread started, using 'sha256d' algorithm.
[2021-03-09 20:28:26] Stratum difficulty set to 75545.7
[2021-03-09 20:28:26] sha256d block 673852, diff 21448277761059.715
[2021-03-09 20:28:26] GPU #0: Intensity set to 25, 33554432 cuda threads
[2021-03-09 20:28:55] sha256d block 676578, diff 6588733186.876
[2021-03-09 20:29:10] sha256d block 673852, diff 21448277761059.715
[2021-03-09 20:29:28] sha256d block 678030, diff 216272212880.018
[2021-03-09 20:30:02] GPU #0: NVIDIA Tegra X1, 32.03 MH/s
[2021-03-09 20:30:38] Stratum difficulty set to 50000
[2021-03-09 20:31:06] GPU #0: NVIDIA Tegra X1, 30.40 MH/s

9. ccminerの自動起動設定ファイルの新規作成

  • 手動でGPUマイニングを起動するのも面倒かと思いますので、systemdを利用した自動起動設定ファイルを新規作成します。
コマンドプロンプト
// ディレクトリを移動
$ cd

// optディレクトリにコピーを作成
$ sudo cp -pr ccminer /opt/

// 自動起動設定ファイルの新規作成
$ sudo vi /opt/ccminer.service
/opt/ccminer.serviceファイル内容
[Unit]
Description=ccminer is executed and resides at OS startup.
After=network.target

[Service]
WorkingDirectory=/opt/ccminer
ExecStart=/opt/ccminer/ccminer -a sha256d -o stratum+tcp://sha256.jp.nicehash.com:3334 -u 1GDAXi4Z89dYfiT7rxqQYME8Btm1NPo9XS
Restart=always
Type=simple
TimeoutStopSec=5

[Install]
WantedBy=multi-user.target

10. ccminerの起動確認&自動起動有効化

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

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

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

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

// OS再起動
$ sudo shutdown -r now
  • 補足:ccminer.serviceファイルの設定変更を反映する際は sudo systemctl daemon-reload コマンドを実行して反映する必要があります。
コマンドプロンプト
// ccminer.serviceの編集
$ sudo vi /etc/systemd/system/ccminer.service

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

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

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

11. おわりに

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

2021/03/09 TAKAHIRO NISHIZONO

12. 余談その1:Jetson Nano の GPU使用率について

  • Jetson Nano の GPU使用率は、jtop コマンドで確認するとわかりやすと思います。ご参考まで。
コマンドプロンプト
// jtopの実行
$ sudo jtop

image.png

5
11
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
5
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?