FC2ブログ

CRYPLY が Hard Fork していたの巻 - 大人の自由研究

大人の自由研究 ホーム » 仮想通貨 » CRYPLY が Hard Fork していたの巻

CRYPLY が Hard Fork していたの巻


はじめに


 CRYPLY の Hard Fork 対応について、まとめて記事にしてみた。


CRYPLY がHard-Fork


 

 知らなかったよ(汗)
 CRYPLYのアルゴリズムが YescryptR16 から YesPoWer ってのに変わっていた。
 コンタクトフォームに、@cryply.io の人から、7月2日20時(日本時間)にメールが届いていたのだった。
 Hard Forkして丸1日以上も経過しとる(汗)

 全くCRYPLYはノーマーク(汗)
 しかも、プールでは ORPHAN BLOCK にもなって居ないので、気づかなかった(汗)

 つい先日も、Koto の方でHFがあるって事で、対応しなきゃなーとか思っていたのだが。。。

 本件で、日本の仮想通貨の運営はちゃんとしてるなって思ったよ
 ちゃんとHFしますよーって、連絡を事前に入れていたから
 てっきり、他の通貨でも、そんな運営なのかなぁーって思っていたら、大間違い(汗)
 向こうから言わしたら、ちゃんとチェックしろって感じなのかねぇ(汗)


HF対応


 アルゴリズムのソースはこちらにある
 こいつを、stratum で処理するように改造をしないと(汗)


 で、さほど悩む事もなくビルドも通り、
 twistd -ny launcher.tac
 で動かしてやったら、起動したっぽいw

 マイナー。。。新アルゴリズム「YesPoWer」に対応したマイナーって(汗)
 準備してあった
 cryply-cli-miner

 早速、プールに向けて、マイナーを起動!
 ジャン!
 stratum でエラーが発生
 mining/service.py ってプログラムで。。。
 session['useragent'] = args[0] # set the client user agent
 あれ?
 この部分って、オイラが昔追加したコードだ(汗)
 なんと、このマイナーは、user agent を 引数で送ってないのかもしれません。

 コメントアウトしてあげたら動いたようだ(汗)
 cryply daemon も最新版にアプデしたが、ブロックがちゃんと同期してくれない(汗)
 いったん、ブロックデータを全部消してからの、再同期を試みた。
 :
 :
 :
 新アルゴリズムのブロックが 359768 なので、結構な時間が掛かる(泣)
 :
 :
 :
 でも ORPHAN にならないって事は、他のノードにも受け入れられたって事なのか。。。ブロックチェーンの分岐が起こっているのでしょうか。。。?
 ちゃんと正しいブロックデータを同期してくれるんだろか(汗)

 同期中ですが、debug.log に以下のメッセージが出ると、同期が止まってしまう
 ProcessBlock: ORPHAN BLOCK 751, prev=00000XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 何なんでしょ、ORPHAN BLOCK 751 って
 ググると他のコインでも出ている現象みたい

 きっと、これなんだろうな。。。
main.h:static const unsigned int DEFAULT_MAX_ORPHAN_BLOCKS = 750;
 よーわからんけどw


同期完了


 とりあえず、正しいアルゴリズムで1ブロックちゃんと掘れるかが気になるところ。
 で、先に挙げた専用cryply新マイナー「cryply-cli-miner」ですが、びっくり仕様。
 起動すると最初の5分間は、寄付とかいって、公式のプールを掘りに行くというwww
 強制的に寄付を迫られる。。。
 まぁ、その前にいったん繋にきて、認証まで通過するかチェックしてくれるので、まだ良いかな。
 これで、5分後に繋に来て、エラー!とかなったら、アカン仕様だ。

 そいでもって、cpuminer-opt をYesPoWerアルゴリズムに対応させたソースを発見したので、ビルドして試してみた。後でみたらビルド版もアップされていた


ブロック発見!


 新アルゴリズムのプールにてマイニングを実行。
 とりあえず、Accepted 出るから、大丈夫かな?
 しばらく放置して、ラッキーな事に、1ブロック発見!
 その後2ブロック目も発見できた。(マイナー様ありがとうです)

 その後、トランザクション系もうまくいってるようだ。
 https://explorer.cryply.io/
 で確認も出来た!
 おかしなブロックやトランザクションだと、ここで表示されなかったからなぁ(汗)


さいごに



 今回、対応にちょっと手間取ってしまった(汗)
 cryply-cli-miner のマイナー って、Stratum mining protocol に沿ってないのか
 https://en.bitcoin.it/wiki/Stratum_mining_protocol#mining.subscribe
 にある、「user agent/version」は送ってなさそうだし、

 https://en.bitcoin.it/wiki/Stratum_mining_protocol#client.show_message
 これで、クライアントにメッセージを送ると、マイナーが落ちるし、、、
 client.show_message("human-readable message")

 自分にとってはトラップだった。



 》》》Cryply Mining pool - 大人の自由研究《《《


関連記事
コメント(管理者承認後に公開します)

※未入力可能。メールアドレスは公開されますので、ご注意ください。
非公開コメント

トラックバック

http://ukkey3.jp/tb.php/820-696930e6