From ae6e1e579253f14b8fadfe1960a700a5b1f4e05b Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Tue, 9 Sep 2014 23:07:58 +0000 Subject: [PATCH] stratumserver: Truncate overlong extranonce2 in share submissions to workaround BitFountain Tube bug --- stratumserver.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/stratumserver.py b/stratumserver.py index 48bfe03..569dbe0 100644 --- a/stratumserver.py +++ b/stratumserver.py @@ -27,6 +27,8 @@ from time import time import traceback from util import RejectedShare, swap32, target2bdiff, UniqueSessionIdManager +extranonce2sz = 4 + class StratumError(BaseException): def __init__(self, errno, msg, tb = True): self.StratumErrNo = errno @@ -180,7 +182,7 @@ class StratumHandler(networkserver.SocketHandler): ['mining.set_difficulty', '%s2' % (xid,)], ], xid, - 4, + extranonce2sz, ] def close(self): @@ -201,7 +203,7 @@ class StratumHandler(networkserver.SocketHandler): 'remoteHost': self.remoteHost, 'jobid': jobid, 'extranonce1': self.extranonce1, - 'extranonce2': bytes.fromhex(extranonce2), + 'extranonce2': bytes.fromhex(extranonce2)[:extranonce2sz], 'ntime': bytes.fromhex(ntime), 'nonce': bytes.fromhex(nonce), 'userAgent': self.UA, -- 2.1.4