Код:
2013-05-23 08: 29: 18 + 0000 [Протокол, 0,141.0.48.3]
2013-05-23 08: 29: 18619 Ошибка протокола # [Экземпляр Failure: Traceback: <типа «exceptions.TypeError»>: Подписаться () занимает ровно 1 аргумент (2 дано)
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/protocol.py:192:dataReceived
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/protocol.py:246:lineReceived
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:13:_handle_event
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:81:call
--- <исключение поймано здесь> ---
/usr/local/lib/python2.7/dist-packages/Twisted-13.0.0-py2.7-linux-x86_64.egg/twisted/internet/defer.py:137:maybeDeferred
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:78:_run
2013-05-23 08: 29: 18619 Ошибка протокола # [Экземпляр Failure: Traceback: <типа «exceptions.TypeError»>: Подписаться () занимает ровно 1 аргумент (2 дано)
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/protocol.py:192:dataReceived
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/protocol.py:246:lineReceived
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:13:_handle_event
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:81:call
--- <исключение поймано здесь> ---
/usr/local/lib/python2.7/dist-packages/Twisted-13.0.0-py2.7-linux-x86_64.egg/twisted/internet/defer.py:137:maybeDeferred
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:78:_run
Хотя добыча, кажется, по-прежнему хорошо, это было массовое раздражение, не говоря уже о дополнительной протоколировании беспорядка он сделал. После долгого копания, преступник оказывается, когда метод mining.subscribe вызываются из protocol.py, Stratum не нравится дополнительный параметр используется (в моем случае CGMiner / 3.1.0 или что-то подобное) в msg_params.
Таким образом, я создал работу вокруг, добавляя код непосредственно после следующих строк в protocol.py:
Код:
MSG_ID = message.get ( 'ID', 0)
msg_method = message.get ( 'метод')
msg_params = message.get ( '') PARAMS
MSG_RESULT = message.get ( 'результат')
MSG_ERROR = message.get ( 'Ошибка')
msg_method = message.get ( 'метод')
msg_params = message.get ( '') PARAMS
MSG_RESULT = message.get ( 'результат')
MSG_ERROR = message.get ( 'Ошибка')
Код существо:
Код:
если msg_method == "mining.subscribe":
дель msg_params [0: Len (msg_params)]
дель msg_params [0: Len (msg_params)]
Это устраняет ошибку и все, кажется, добыча ОК, но мне было интересно народов мысли о нем, как это было просто хак. Может ли эффект ничего вниз линии?
К сожалению, мой Python очень плохо, поэтому, пожалуйста, быть хорошо с вашими комментариями