NiceHash OS の導入方法（NiceHashを用いたBitcoinマイニング）

# 1. はじめに
今回は、自分自身への備忘録を兼ねて、マイニング専用OSである『NiceHash OS（ナイスハッシュオーエス）』の導入方法を、お伝えしたいと思います。

- ※2020年1月25日現在、NiceHash OSバージョンv1.1.4での記事となります。

![nicehash_logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/02ae0e01-78fe-8b0b-a832-5081a106b456.png)

- 参考：[What is NiceHash OS?](https://www.nicehash.com/support/mining-help/nicehash-os/what-is-nicehash-os)
- 参考：[How to create NiceHash OS bootable flash drive?](https://www.nicehash.com/support/mining-help/nicehash-os/how-to-create-nicehash-os-bootable-flash-drive)
- 参考：[GitHub - nicehash/NHOS](https://github.com/nicehash/NHOS/tree/master/graphics)
- 参考：[GitHub - nicehash/NHOS-Flash-Tool](https://github.com/nicehash/NHOS-Flash-Tool)
- 参考：[NHOS_GUIDE_en_v2.pdf](https://storage.googleapis.com/public-prod-data/marketing%2FNHOS_GUIDE_en_v2.pdf)

# 2. この記事を読んでできること
- NiceHash OSを構築できるようになる。
- NiceHash OSを用いたマイニングができるようになる。

# 3. 必要なもの
- パソコン＋GPUグラフィックボード（今回Radeon RX580を使用）
- USBメモリ（USB2.0以上、容量：2GB以上）
- インターネット環境（有線LAN推奨）
- パソコン（Windows10など、USBメモリ作成時に利用）
- NiceHashアカウント

# 4. NiceHashアカウントの作成
- [NiceHash公式サイト](https://www.nicehash.com/my/register)から、NiceHashアカウントを作成する。
- NiceHashアカウントは、NiceHash OSのダウンロード、マイニングの実行確認等に利用するため、必ず必要となります。

# 5. NiceHashサイトへのログイン
- [NiceHashログインページ](https://www.nicehash.com/my/login)から、ログインする。

# 6. NiceHash OSのダウンロード
- NiceHashサイトにログイン後、上部メニューの『Mining』をクリックし、『DOWNLOAD MINER OR ADD ASIC』ボタンをクリックする。

![コメント 2020-01-25 093325.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/4742f45d-7732-5da0-563d-5a1aef5789ef.jpeg)

- 表示されたポップアップ選択から、『NishHash OS』をクリックする。

![コメント 2020-01-25 093413.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/2fca044d-e3f7-9d99-7e57-8944aa4ed17a.jpeg)

- ダウンロード形式の選択から、『USB image (.img)』を選択し、NiceHash OSのダウンロードを開始する。
- 参考：この記事作成時のファイルバージョン：『nhos-1.1.4.img.gz』

![コメント 2020-01-25 093522.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/0d765f92-b71a-b348-fd1c-7c78ff688e6d.jpeg)

# 7. マイニングアドレスのコピー
- NiceHash OSダウンロード中に、マイニングアドレスのポップアップが表示されるので、『COPY』ボタンをクリックし、メモ帳などにマイニングアドレスを貼り付けて、後から利用できるようにしておく。
- もしも、マイニングアドレスのコピーを忘れた場合は、後から、NiceHashサイトの上部メニューの『Mining』をクリックし、『MINING ADDRESS』から確認することもできます。

![コメント 2020-01-25 093649.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/1fcb3559-5815-b77c-4f2f-16e929980232.jpeg)

# 8. USBメモリのフォーマット
- [SD Formatter for Windows](https://www.sdcard.org/jp/downloads/formatter/index.html)などのソフトを用いて、NiceHash OSをインストールするUSBメモリをフォーマットする。
- フォーマット形式は「FAT32」を選択することを推奨します。

- 参考：参考画面
![fomatter.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/94af63eb-346c-229e-d908-886b65a9339b.png)

# 9. USBメモリへOSイメージの書き込み（所要時間：3分）
- [Etcher](https://www.balena.io/etcher/)などのソフトを用いて、使用するUSBメモリへOSイメージを書き込む。
- Etcherは、圧縮されたままのOSイメージ（拡張子が.img.gzなど）を解凍せずにそのまま扱えておすすめです。

- 参考：Etcher起動時の画面
![etcher_1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/4d57f18a-994c-eb48-9ddf-f70545395fe6.png)

# 10. configuration.txtファイルへのマイニングアドレス設定
- USBメモリへのOSイメージの書き込みが完了したら、『NHOS』というドライブ名でドライブ認識されているので、エクスプローラーから当該ドライブを選択する。

![コメント 2020-01-25 100030.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/eb8c78ef-c4c0-15bb-39bf-1878d7303fa8.jpeg)

- 『NHOS』ドライブ直下の、『configuration.txt』をメモ帳なのでエディタで開き、"btc"、"woker"の値を設定し、保存する。

"btc": "コピーしたマイニングアドレスを設定する",
"woker": "任意のワーカー名文字列を設定する",

- 補足：Wi-Fi無線LANを利用する際は、"ssid"、"key"を設定する。（極力は有線LANの利用を推奨）詳しくは、[公式サイトを参照](https://www.nicehash.com/support/mining-help/nicehash-os/how-to-configure-nicehash-os)。

![コメント 2020-01-25 100559.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/c14ab22a-0a2f-f936-eb63-8823392217e9.jpeg)

```plaintext:configuration.txt（改行コード：LF、文字コード：UTF-8）
{
    "rig": {
        "btc": "36HiEHGr8LNr7kEqZtLHb42WfrqbjrDzFa",
        "worker": "worker2",
        "group": ""
    },
    "access": {
        "ssh": {
            "key": ""
        }
    },
    "network": {
        "wireless": {
            "ssid": "",
            "key": ""
        }
    }
}
```

# 11. USBメモリ の完成
- 完成した USBメモリ を、PCからおもむろに抜き取る。

# 12. NiceHash OSの起動
- NiceHash OSを起動させたいパソコンにUSBメモリを差し込み、パソコンを起動する。
- パソコン起動直後、直ぐに『Deleteキー』または『F2キー』を連打し、BIOS画面を表示させ、ブートメニューなどから、作成したUSBメモリが起動するように選択＆設定をおこない、NiceHash OSを起動する。
- 真っ黒い画面に、英語の文字列が3分程度表示されるが問題なし。
- 初回起動直後は、GPUグラフィックボードの判定、数、各種マイニングベンチマークの実施調査などが自動でおこなわれているので、15分くらいそのまま放置してOKです。
- Linuxコマンド操作に自信がある人のみ、以下のユーザ名でコンソールログインすることもできます。（コンソールログインは推奨しません）

```plaintext:ユーザ名／パスワード
ユーザ名　：nhos
パスワード：なし
```

# 13. マイニング状況の確認
- お使いのパソコンに問題がなく、適切なGPUグラフィックボードが搭載されていれば、以上でマイニングが自動開始されていると思います。
- NiceHashサイトにログインし、上部メニューの『Mining』から『My Rigs』から動作状況を確認できます。
- マイニングを停止、再開する際も、こちらの画面から操作することが可能です。

- 参考画像：起動直後の『Benchmarking』実施中、終わるまで待つこと！
![コメント 2020-01-25 101332.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/f19eff28-6f25-a52a-0cd7-b026e87f133c.jpeg)

- 参考画像：GPUグラフィックボードが認識されマイニング開始
![コメント 2020-01-25 102625.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/eebebd1d-722f-eaad-c02e-de181db3b001.jpeg)

# 14. おわりに
いかがでしたでしょうか？以上でNiceHash OSの導入がひととおり完了しているかと思います。

この後、あなたのマイニング環境（NiceHash OS：Rigs）がどのような運命をたどるかは、あなた次第です。

マイニング専用OSを用いてマイニングをはじめることは、意外と簡単にできたのではないかなと思います。
今回の記事が、みなさまの学習の参考になれば幸いです。

2020/01/25 TAKAHIRO NISHIZONO

# 15. 追記その1：NiceHash OSのメリット＆デメリット
## メリット
- NiceHash OSは、Tiny Core Linuxをベースに作成されており、OS起動後はオンメモリで高速に処理される。
- オンメモリで動作するOS仕様のため、SSD、HDDなどのファイルアクセス遅延、ディスク消耗の心配がない。
- オンメモリで動作するOS仕様のため、古いUSB2.0のUSBメモリでも動作スピードに問題がでない。
- Linux Kernel 5.0.21-tinycore64 で動作しており、Ryzen系CPUでもOS起動する。（Ryzen系CPUの場合、Linux Kernel 4.X系だとLinux OSが起動しないことがあるらしい）
- いい感じにかってにマイニングしてくれる。

## デメリット
- すべてがほぼ自動で動作するため、マイニングツールやマイニング通貨の選択、カスタマイズ性はない。
- CPUマイニングとの同時実行ができず、GPUマイニングオンリーだと思われる。

# 16. 追記その2：NiceHash OS Flash Toolの使用（公式推奨）
- あとから気づいたのですが、NiceHash OS構築専用の『[NiceHash OS Flash Tool](https://github.com/nicehash/NHOS-Flash-Tool)』なるものが存在するようです。
- NiceHash OS Flash Toolは、Linux、MacOSおよびWindowsオペレーティングシステムで使用でき、NiceHash OSイメージの事前ダウンロードをせずに、NiceHash OSのイメージをUSBフラッシュドライブにダウンロード、構成および書き込みできるようです。
- ただし、セキュリティソフトの設定によっては、ウィルス検知され、NiceHash OS Flash Toolをダウンロードできない可能性もありそうです。

![nhos-flash-tool.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/0d41e8d5-e261-dc66-b06e-66e50d762817.png)

# 17. 追記その3：ddコマンドを用いたOSイメージ書き込み（非推奨）
- おすすめはしませんが、LinuxのddコマンドでOSイメージを書き込みたい方は参考にしてください。（ddコマンド実行は、自己責任でおねがいします。）

```plaintext:コマンドプロンプト
// USBドライブを調べる
$ df -h

// USBドライブをアウンマウント
$ umount /dev/sdX1

// OSイメージの解凍
$ gunzip nhos-x.x.x.img.gz

// OSイメージをUSBメモリに書き込む
$ dd if=nhos-x.x.x.img of=/dev/sdX bs=4M && sync
```