マイニングプール構築①(各ソフトの役割)

各ソフトの役割を正しく理解しよう

ここでは、プールマイニングを実施する上で必要な3点セットについて説明しています。
それぞれの役割を理解することで、障害が起きた場合にどこに問題があるかを判断する事ができます。

全体像

stratum-miningがcoin-deamonと通信してマイニングに必要な内容を取得、それをマイナーに振り分け、マイナーからの提出結果をDBに書き込みます。新規コインまで見つかる内容が提出された場合は、成果をcoin-deamonに提出し、新しいコインを手に入れます。

下記に各ソフトの役割を書きます。

coin-deamon

coindとも言われる、各コインのウォレットソフトです。bitzenydとかyentend等、コイン名称の後ろにdがつくのがポイントです。ブロックチェーン情報を保持し、新しいコインを生み出したときはその情報を他のcoindに伝達し、次のブロックを生成する役割を担ってます。

マイニング視点から一言で言うと、「コインを生み出す核」です。

stratum-mining

一つ前の記事で出てきた、下記の図でいうところの「先生」にあたるソフトです。

先生(stratum-mining)は生徒(マイナー)に問題を提示します。また、マイナーからの成果をチェックする役割を担います。マイナーが正しく問題を説いていたらyay!を、間違っていたらbooを返します。

また、特に優秀な回答(コインが生み出せるレベルの回答)を受け取ると、coin-deamonに成果を渡し、新しいコインを手に入れます。(配布はしません。配布はmposの役割)

新しいコインを手に入れたら、新しい問題をマイナーに提示します。この際、マイナーの能力に応じて問題の難易度を変えます。この難易度を「プール難易度」といいます。コイン自体の難易度とは別物なので注意。

stratum-miningを一言でいうと「マイニング作業の分配役」です。

MPOS

php-mposとも言います。マイニングプールのフロントエンドと言われることもありますが、フロントエンドの他に、分配という大事な役割も担っています。
先程の記事のこのイラストの部分ですね。

mposは一定期間でコインの発見状況をチェックしており、自プールで新たにコインが発見されたことを検知すると、今までの提出成果(share)を読み取り、プール難易度に応じてコインの分配を行います。分配ルールはこちらに詳細な説明があります。

また、実際にプールのホームページ表示を行っているのもmposの役割です。

簡単な問題切り分けの考え方

・プールマイニング自体はmposが止まっていても稼働することが可能。(但し分配待ちが溜まっていく) 十分なマイニングが行われているのに中々分配が行われていない場合はmposをまずチェックする。分配処理が止まっていることが多い。

・一方で、stratum-miningが止まっていると、マイナー側から見るとtimeoutが表示される。この場合はstratum-miningが落ちてないか確認する。

・coindが止まっている場合は、recv_lineエラーがマイナーに表示される。(正しく成果を確認できない場合にこのエラーが出ます)ネットワークの問題で表示される場合もあるので、一つづつ問題を解決していく作業が必要。

役割を理解した上で、次のcoind構築に移ります。

coindを構築する ウォレットのセットアップを行います。ここでは例としてubuntu16.04/DogeCoin・kumacoinを...
スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

この記事が役に立つと思ったらシェアお願いします!

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル(大)広告