14
10

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 1 year has passed since last update.

Raspberry Pi ではじめるCPUマイニング(Bitcoin編)

Last updated at Posted at 2021-03-09

1. はじめに

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

  • 手順はおおむね前回までのBitZeny編Koto編と同じですが、計算アルゴリズムが異なるらしくBitcoin用のcpuminerをビルドする必要があります。(他のアルトコインのcpuminerをそのまま用いると、 (yay!!!)とはならずに(booooo)となるかと思います。)

  • ウォレットには「Blockchain.com」Webサイト版を利用しています。

  • 参考サイト:Bitcoinを電気代"0円"でマイニングして稼ぐ!

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

  • Raspberry PiでBitcoinをCPUマイニングできるようになる。

3. 必要なもの

  • Raspberry Pi(この記事では Raspberry Pi4B 4GB版 を利用しました)
  • SDカード
  • インターネット環境
  • パソコン(Windows10など)
  • sshクライアントソフト(TeraTerm

4. cpuminerのセットアップ

  • 以下のコマンドを順次実行し、cpuminerをセットアップします。
コマンドプロンプト
// ホームディレクトリに移動
$ cd

// ソースの取得
$ git clone --depth 1 https://github.com/tpruvot/cpuminer-multi.git

// 作業ディレクトリに移動
$ cd cpuminer-multi/

// 必要ライブラリのインストール
$ sudo apt-get install automake autoconf pkg-config libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev make g++

// ビルド
$ ./build.sh

5. CPUマイニングの実行

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

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

  • CPUマイニングに成功すると、「(yay!!!)」とログに出力されるかと思います。
  • ただし、Raspberry PiのCUP性能では、なかなか成功しないと思われます。
  • Raspberry PiのCPU処理能力は高くないため、半月から1か月程度、気長に待ってみましょう。
コマンドプロンプト
[2021-03-09 08:58:51] CPU #0: 1010 kH/s
[2021-03-09 08:58:51] CPU #1: 1014 kH/s
[2021-03-09 08:58:51] CPU #3: 1016 kH/s
[2021-03-09 08:58:51] CPU #2: 996.39 kH/s
[2021-03-09 08:58:58] CPU #3: 1035 kH/s
[2021-03-09 08:58:58] CPU #2: 1024 kH/s
[2021-03-09 08:58:58] CPU #0: 1034 kH/s
[2021-03-09 08:58:58] CPU #1: 1025 kH/s
[2021-03-09 08:59:06] CPU #1: 1017 kH/s
[2021-03-09 08:59:06] CPU #2: 1035 kH/s

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

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

[Service]
WorkingDirectory=/home/pi/cpuminer-multi
ExecStart=/home/pi/cpuminer-multi/cpuminer -a sha256d --user=1GDAXi4Z89dYfiT7rxqQYME8Btm1NPo9XS --url=stratum+tcp://sha256.jp.nicehash.com:3334
Restart=always
Type=simple
TimeoutStopSec=5
StandardOutput=append:/tmp/minerd-bitcoin.log
StandardError=append:/tmp/minerd-bitcoino.log

[Install]
WantedBy=multi-user.target

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

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

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

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

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

// OS再起動後の実行ログ確認
$ tail -f /tmp/minerd-bitcoin.log
  • 補足:minerd-bitcoin.serviceファイルの設定変更を反映する際は sudo systemctl daemon-reload コマンドを実行して反映する必要があります。

9. おわりに

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

2021/03/09 TAKAHIRO NISHIZONO

10. 余談その1:利用OSについて

1つのURLを全画面表示する方法

スクリーンショット 2022-11-26 133550.png

複数のURLを表示する方法

スクリーンショット 2022-11-26 133711.png

その他

fullpageos.local
pi
raspberry

14
10
1

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
14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?