Mining-Technical-Details
池伺服器如何處理與 Stratum 協議共享一個連接的多個工作人員
Stratum 協議支持在單個連接中授權多個工作人員。不幸的是,我沒有找到任何關於池伺服器軟體應該如何處理的文件。
如果多個工作人員共享相同的
extranonce1
內容(這是每個連接唯一的字元串),工作人員不會重複工作嗎?這個需要客戶處理嗎?是否所有工作人員都使用相同
job_id
的共享送出?當第二個,第三個等工人成功通過授權時,伺服器是否應該發送作業通知?
最後,是否有人真正使用它(每個連接多個工作人員)以及用於什麼目的?
客戶端需要處理將 extranonce2 分配給所有工作人員。代理可以通過將 extranonce2 的一部分移動到 extranonce1 中來做到這一點。
通常,對於任何給定的模板,整個池都使用相同的 job_id,儘管它只保證在單個連接中有效。
當其他工作人員進行身份驗證時,伺服器沒有理由發送新的 Mining.notify,儘管他們也沒有理由不能選擇。您會注意到,大多數伺服器在任何工作人員進行身份驗證之前都會發送第一個 Mining.notify。
單個連接上的多個工作人員的實際問題是,每個連接也設置共享難度,並且伺服器通常希望為不同的工作人員提供自己的難度級別。
雖然多個工作人員並不是特別常見,但在大型網路上減少頻寬很有幫助,您可能希望跟踪每個工作人員的池統計資訊 - 甚至可以想像每個晶片(儘管目前還沒有軟體支持)。