マイニングのヘルプ


extranonce.subscriptionに関するパッチ対応

マイニングソフトウェア開発者はhttps://github.com/nicehashにあるNiceHashのソースコードを確認し、自身のソフトウェアに「extranonce.subscription」のパッチを組み込むことが推奨されます。

「mining.subscribe」でStratumに接続するには、クライアントが「mining.extranonce.subscribe」を送信する必要があります。

{"id": X, "method": "mining.extranonce.subscribe", "params": []}\n

これにより、クライアント (マイナー) が再接続なしででextranonce1を変更できることがサーバー (プール) に通知されます。一方、extranonceに対応しているサーバーは、次のように返信します。

{"id": X, "result": true, "error": null}\n

また、extranonceに対応していないサーバーは、次のように返信します。

{"id": X, "result": false, "error": [20, "Not supported.", null]}\n

あるいは、サーバーが無視して応答を返さない場合や、無効な返信をする場合があります。プールによっては、不適切な形式のエラーメッセージを返す場合がありますし、接続を切断する場合もあります (このようなのプールがあるため、configを利用するなどでextranonceをオフにする方法をユーザに提供しておくとよいでしょう。いずれの場合でも、これらの返答を受信したクライアントは何も実行しません。mining.extranonce.subscribeでは、クライアントはextranonce1の変更を適切に処理できなければなりません。サーバーからは、次のような形式で返信があります。

{"id": null, "method": "mining.set_extranonce", "params": ["08000002", 4]}\n

第1パラメータはextranonce1の値の文字列、第2パラメータはextranonce2のサイズの整数値です。マイナーは新しいジョブがmining.notifyで提供されたときに,新しいextranonce1を使用します。たとえ新しいジョブが同じIDであったとしても、extranonce1が異なるため、作業を切り替えなければなりません。これをやらないと、異なるIDの新しいジョブが提供されるまで、ターゲットを超えるシェアを送信し続けることになります。




マイニング