Вот что наблюдается
2014-02-28 16:50:49,865 DEBUG protocol protocol.writeJsonRequest # < {"params": ["invader_7", "1393618305 21849", "02000000", "5310ed81", "c6093180"], "id": 6, "method": "mining.submit"}
2014-02-28 16:50:49,867 DEBUG protocol protocol.writeJsonRequest # < {"params": ["invader_7", "1393618305 21849", "02000000", "5310ed81", "daba8012"], "id": 7, "method": "mining.submit"}
2014-02-28 16:50:49,873 DEBUG protocol protocol.writeJsonRequest # < {"params": ["invader_7", "1393618305 21849", "02000000", "5310ed81", "f247ad94"], "id": 8, "method": "mining.submit"}
2014-02-28 16:50:49,885 DEBUG protocol protocol.writeJsonRequest # < {"params": ["invader_7", "1393618305 21849", "02000000", "5310ed81", "b55c5aa6"], "id": 9, "method": "mining.submit"}
2014-02-28 16:50:49,909 DEBUG protocol protocol.lineReceived # > {u'error': [23, u'H-not-zero', None], u'result': None, u'id': 5}
2014-02-28 16:50:49,909 INFO proxy stratum_listener.submit # [47ms] Share from 'invader_7' REJECTED: (23, u'H-not-zero', None)
2014-02-28 16:50:49,954 DEBUG protocol protocol.lineReceived # > {u'error': [23, u'H-not-zero', None], u'result': None, u'id': 6}
2014-02-28 16:50:49,955 INFO proxy stratum_listener.submit # [89ms] Share from 'invader_7' REJECTED: (23, u'H-not-zero', None)
2014-02-28 16:50:49,955 DEBUG protocol protocol.lineReceived # > {u'error': [23, u'H-not-zero', None], u'result': None, u'id': 7}
2014-02-28 16:50:49,955 INFO proxy stratum_listener.submit # [88ms] Share from 'invader_7' REJECTED: (23, u'H-not-zero', None)
2014-02-28 16:50:49,956 DEBUG protocol protocol.lineReceived # > {u'error': [23, u'H-not-zero', None], u'result': None, u'id': 8}
2014-02-28 16:50:49,956 INFO proxy stratum_listener.submit # [82ms] Share from 'invader_7' REJECTED: (23, u'H-not-zero', None)
2014-02-28 16:50:49,956 DEBUG protocol protocol.lineReceived # > {u'error': [23, u'H-not-zero', None], u'result': None, u'id': 9}
2014-02-28 16:50:49,957 INFO proxy stratum_listener.submit # [71ms] Share from 'invader_7' REJECTED: (23, u'H-not-zero', None)
Причем иногда даже проскакивает accepted, но количество их несопоставимо мало.
2014-02-28 16:51:20,408 DEBUG protocol protocol.writeJsonRequest # < {"params": ["invader_7", "1393618403 21850", "02000006", "5310ede3", "c0d72bb3"], "id": 639, "method": "mining.submit"}
2014-02-28 16:51:20,471 DEBUG protocol protocol.lineReceived # > {u'error': None, u'result': True, u'id': 638}
2014-02-28 16:51:20,471 INFO proxy stratum_listener.submit # [63ms] Share from 'invader_7' accepted, diff 2
2014-02-28 16:51:20,525 DEBUG protocol protocol.writeJsonRequest # < {"params": ["invader_7", "1393618403 21850", "02000006", "5310ede3", "3c66a94c"], "id": 640, "method": "mining.submit"}
2014-02-28 16:51:20,555 DEBUG protocol protocol.lineReceived # > {u'error': [23, u'H-not-zero', None], u'result': None, u'id': 639}
Направленное напрямую на eligius китайское поделие работает нормально. Однако, будучи перенаправленным на него же через stratum mining proxy, выдает режекты с ошибками "H-not-zero".
Ясное дело, проблема где-то в stratum mining proxy, но пока так и не понял как это исправить.
EDIT:
Похоже, этот патч мне помог! Взял отсюда.
Это нужно исключительно для исправления несовместимости stratum mining proxy и некоторых версий cgminer. Корректно будет работать только в конфигурации с одним воркером.
jobs.py:
~ line 61
- return self.coinb1_bin + extranonce + self.coinb2_bin
+ return self.coinb1_bin + extranonce + self.extranonce2 + self.coinb2_bin
stratum_listener.py:
~ line 155
- subs2 = Pubsub.subscribe(self.connection_ref(), MiningSubscription())[0]
- defer.returnValue(((subs1, subs2),) + (self.extranonce1+tail, extranonce2_size))
+ subs2 = Pubsub.subscribe(self.connection_ref(), MiningSubscription())[0]
+ extranonce2_size = extranonce2_size + 1;
+ log.info("Expected extranonce2_size of '%s'" % (extranonce2_size))
+ defer.returnValue(((subs1, subs2),) + (self.extranonce1, extranonce2_size))
~line 171
- result = (yield self._f.rpc('mining.submit', [worker_name, job_id, tail+extranonce2, ntime, nonce]))
+ result = (yield self._f.rpc('mining.submit', [worker_name, job_id, extranonce2, ntime, nonce]))