Yenten(YTN)のマイニングプールを作ったので裏側公開! 序章(マイニング編)


※移転しました。
xshsaku にわかエンジニアブログ

Yenten(YTN)のマイニングプールを作ったので裏側公開!

円天恋な〜プール

まず初めにYentenとは

yenten price

円天公式サイト

「円天詐欺」についてはググってください。無関係ですが。

仮想通貨として、突如現れたYenten(YTN) 発行日は2017/10となっています。
ネタでしかない通貨ですが、日本のみならず、海外マイナー(採掘者)にも人気が高く値段も高騰しています。
※本家サイトもところどころジョークが入っている。

相場は1/19時点で 1YTN=40円台

ホワイトペーパーというほどでもないですが、
本プロジェクトはASICマイニングを撲滅することによってCO2排出を制限しより良い環境を作っていこう という記載があります。

ASIC耐性とは

ASICは一定のアルゴリズムに対し、優れた計算能力をもつ機械です。対応するアルゴリズム専用に作られているためアルゴリズム変更となるとASIC機器はほぼ電気代だけを使うゴミになります。

Yenten(YTN) のアルゴリズムは yescryptr16 と呼ばれる仕組みでASICといったマイナー専用機器を排他するように設計されています。※可変的にアルゴリズムが変わる。

またアルゴリズムを計算する際の必要メモリ大きくGPUでは困難な設計となっているため、高度なサーバースペックは要求されません。

そのため、みなさんが利用しているPCもしくはラズパイ、スマートフォンでも採掘は可能です。

※注意:Bitzenyも同じくCPUマイニングとなっている yescrypt ですがアルゴリズム方式は異なります。

マイニングプールを作るには

早速本題に入ります。

マイニングプールを作るには以下の手順を踏む必要があります。

  1. 仮想通貨ウォレットの構築
  2. Stratumサーバーというウォレットの操作、マイニング(アルゴリズム計算)を行うサーバーの構築
  3. MPOS PHPで作られたフロントエンドの構築

の3点から成り立ちます。

マイニングプールを作る前にまずマイニング(採掘)をしてみよう

円天恋な〜プール

こちらに現在手数料かからないプールを作っていますので、登録してマイニングを実施してみましょう。

Git

Windowsの方は cpuminer-opt-3.7.9-windows.zip をLinux/Macはソースコードをダウンロードしコンパイルします。

LinuxMac
$ wget 'https://github.com/JayDDee/cpuminer-opt/archive/v3.7.10.tar.gz'
$ tar xzf v3.7.10.tar.gz
$ cd cpuminer-opt-3.7.10
$ chmod 700 autogen.sh
$ touch  ChangeLog
$ ./autogen.sh
$ ./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer"
$ make

これでマイニングに必要なバイナリが出来るはずです。
実際に動かす際はカレントディレクトリで以下のようにコマンドを実行します。

$ ./minerd -a yescryptr16 -o stratum+tcp://ytn.coiner.site:12100 -u `User`.`worker` -p `password`

実行すると以下のようにログが出てきます。 yay!!!が出てくればOK!

[2018-01-19 21:30:27] accepted: 1307/1307 (100.00%), 0.10 khash/s (yay!!!)
[2018-01-19 21:30:41] thread 0: 1432 hashes, 0.11 khash/s
[2018-01-19 21:30:41] accepted: 1308/1308 (100.00%), 0.11 khash/s (yay!!!)
[2018-01-19 21:30:41] thread 0: 15 hashes, 0.14 khash/s
[2018-01-19 21:30:41] accepted: 1309/1309 (100.00%), 0.14 khash/s (yay!!!)

ずっと稼働させたい時には、nohupをつけて実行するといいでしょう。他にもsystemdに登録するなど

$ echo "./minerd -a yescryptr16 -o stratum+tcp://ytn.coiner.site:12100 -u `User`.`worker` -p `password`" > mining.sh
$ nohup bash mining.sh &

ログをみたい時はnohup.outをtailするなりしてください。

次回はマイニングプールを作るには?に記載した以下3点を掲載していきますー。
余力があれば。

TODO

  1. 仮想通貨ウォレットの構築
  2. Stratumサーバーというウォレットの操作、マイニング(アルゴリズム計算)を行うサーバーの構築
  3. MPOS PHPで作られたフロントエンドの構築

寄付いただくと記事を書くスピードが上がるかもしれませんw

BTC: 3MHwSRfFwUtJJ1ZMDitFfvx1n7FffFvXRu
ETH: 0xEa00632a438dc250136f5d40cf80EcB1fA24E027
ZNY: Zkub2vUJYeURsqnad81dE7R4S5bYWNgnm8
ZEC: t1RKPqQtUHZPMPVfdt34Fd6PKLWcP2kMGL2

仮想通貨技術を使ったシステムの(構築など)相談をされたい方は、プロフィールのメールまでご連絡ください。