Bitzenyが人気なので、プール作ってマイニングしてみた

久々の記事です。

ここ最近、新しい技術などの勉強をしていなかったのですが。
以下の記事を見て久々に徹夜しました＞＜

> ```
> ’’’引用
> ```
>> イケダハヤトさんが気づいてしまった。これは多くの人がBitZenyに興味を持つことになるでしょう。
>> [Mac で 大注目仮想通貨 『BitZeny』 をマイニングする簡単5ステップ](https://satoshisgarage.tech/?p=6484)

これはやって見るしかない。
現在のZNYの円換算は40円代、CPUで（GPUは不可）マイニングが出来ることが特徴で、コミュニティ問わず人気です。

とりあえず、現在ベータ版で稼働しているのでURLをはっつけます。

[銭プール](https://zny.coiner.site/)
※diffは0.1となっており、弱いスペックPCでも参加可能です。
※注意：現在検証中なので不具合が起きる可能性がございます。検証に付き合って頂けると幸いです^ ^

## マイニングプールの構成は以下で構築しました

- ubuntu 16.04
- zenyd （ウォレット）
- stratum、stratum-mining
- LAMP/Memcache


# CPUマイニングの方法

## ウォレット導入編

オンラインのウォレットもありますが、アプリケーション用ウォレットの使い方を説明します。

[BitZeny](http://bitzeny.org/)

![wallet.png](https://qiita-image-store.s3.amazonaws.com/0/93976/b39bf7bc-fdf1-5a85-2ffd-712810c62706.png)

上記のページにアクセスし、お使いのOSのバージョンを確認しインストールします。
※SSE4.1はintelの対応のようで、もし別のCPUを利用していましたら、[オンラインウォレット](https://bitzeny.jp/login)に登録してくださいませm(_ _)m

## ウォレットインストール

無事ダウンロードとウォレットをインストールしたら、下記の画面が出てくると思います。

<img width="889" alt="wallet_main.png" src="https://qiita-image-store.s3.amazonaws.com/0/93976/b4de5fcd-fde8-aac4-5872-5614a3242a47.png">

ウォレットをインストール直後、BitZeny Coreが初めて取引データをインポートします。

下記の画面でも記しているところですが、初期設定では取引データを取得するノードの設定がされていないため、同期されません。以下の内容をbitzenyウォレットのコンフィグ設定をする必要があります。

```bitzeny.conf
addnode=113.153.209.203
addnode=118.241.118.74
addnode=119.245.16.219
addnode=157.7.222.158
addnode=203.178.132.125
addnode=220.217.202.90
addnode=27.120.112.59
addnode=27.96.51.15
addnode=58.191.220.12
```
- 移動する位置は（C:\Users\ユーザー名\AppData\Roaming\BitZeny）の中にbitzeny.confを放り込んでbitzenyを再起動！

ネットワーク環境にもよりますが、1-2日寝かす必要があります。。

## BitZenyのアドレスを取得

1. BitZenyCoreの「受信」から「Request payment」を押下
2. Zから始まるアドレスをコピー

※この手順はウォレット同期完了する前でも可能です

<img width="884" alt="bitzeny_adress.png" src="https://qiita-image-store.s3.amazonaws.com/0/93976/09d3b63a-cd30-b188-71ac-bb60ef9076c8.png">

## マイニングプールに参加登録しよう

1. [銭プール](https://zny.coiner.site/) にアクセスし、左側メニューの「その他」から「サインアップ」をクリック
2. 下記の図にある通り、「ユーザー名、コインアドレス（先ほどコピーしたもの）、パスワード、メールアドレス」を入力。
※普段見慣れない「PIN」というものがありますが、2段階認証がわりのパスコードのようなものです。
![zeny_pool.png](https://qiita-image-store.s3.amazonaws.com/0/93976/f3c99572-2130-ab26-7f7d-4dc1f707bd29.png)

※登録した後、メールが届きます（場合によっては迷惑メールフォルダかも）その中のリンクをクリックして登録が完了です。

## マイニングしてみよう！

マイニングする際には`cpuminer`と言ったCUIツールが必要になります。

MacでもWindowsでもLinuxでも同じようにマイニングしたいと思い、簡単なDockerfileを作成しました。

```Dockerfile
FROM ubuntu:16.04
  
RUN apt-get update -y \
 && apt-get install -y git automake build-essential libcurl4-openssl-dev

RUN git clone https://github.com/bitzeny/cpuminer.git

WORKDIR cpuminer

RUN ./autogen.sh \
 && ./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer" \
 && make \
 && make install
```

※Docker for windowsインストールされていない方は下記から
[Docker for windows](https://www.docker.com/docker-windows)

デスクトップの`miner`というフォルダに`Dockerfile`というものを置いた前提で進めます。
コマンドプロンプトから、以下コマンドを叩いてください

```powershell:コマンドプロンプト
cd Desktop/docker
Desktop¥docker> docker build -t minerd .
Desktop¥docker> docker run --rm -it minerd /bin/bash
root@a2c5f8ed0f75:/cpuminer#
```

上記`root`の画面に入ればあとはマイニングプールの設定値を入れ、実行します。

```shell:docker
root@a2c5f8ed0f75:/cpuminer# ./minerd -a yescrypt -o \
stratum+tcp://zny.coiner.site:19666 -u User.Worker -p Password
```
**User**の部分は、「銭プール」ログイン時のユーザー名を入れてください
**Worker**の部分は「銭プール」の「マイアカウント->私のワーカー」から作成したワーカー名を入れてください
**Password**の部分は上記のワーカーのパスワードを入れてください。

参考までに1日の採掘量ですが、60ZNY入りました＞＜

![result.png](https://qiita-image-store.s3.amazonaws.com/0/93976/6e0bf46d-af08-eecd-82b7-7c33ebf7f7f1.png)

まだ検証過程のプール環境ですが、是非ともお試しください〜

参考

[Mac で 大注目仮想通貨 『BitZeny』 をマイニングする簡単5ステップ](https://satoshisgarage.tech/?p=6484)

[BitZeny（ZNY）マイニング開始から1日！初日の採掘数を公開します](https://www.braveryk7.com/bitzeny-mining/)

[暗号通貨ＢｉｔＺｅｎｙまとめＷｉｋｉ](http://bitzeny.cswiki.jp/index.php?%E3%83%97%E3%83%BC%E3%83%AB%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0)