nicehash / Specifications

Protocol specifications for various algorithms used @ NiceHash
76 stars 42 forks source link

EthereumStratum implementation #6

Open Rom1kz opened 6 years ago

Rom1kz commented 6 years ago

Hi, i'm comining.io pool owner today i've implemented your own EthereumStratum protocol to eliminate possibility of work duplicates

ethminer and claymore are working just fine with my protocol implementation, but nicehash don't

here is trace:

channel 2 activated channel 2 stratum data in channel 2 activated
channel 2 stratum data in '{"id":1,"method":"mining.subscribe","params":["NiceHash/1.0.0","EthereumStratum/1.0.0"]}'
channel 2 subscribed
channel 2 allocated extranonce '0001'
stratum data out: {"id":1,"result":[["mining.notify","bae84e2dc41c4c2a99d0139c074351b2","EthereumStratum/1.0.0"],"0001"],"error":null}
channel 2 stratum data in '{"id":2,"method":"mining.authorize","params":["AGQZgM6jtuYmVxNenWabGF5.nicehash","x"]}'
channel 2 trying login 'AGQZgM6jtuYmVxNenWabGF5' worker 'nicehash' with stratum protocol
channel 2 worker 6781 'nicehash' account 'AGQZgM6jtuYmVxNenWabGF5' logged
stratum data out: {"id":2,"result":true,"error":null}
stratum data out: { "id": null, "method": "mining.set_difficulty", "params": [ 1.0 ]}
stratum data out: {"id": null, "method": "mining.notify", "params": [ "bf0488aa", "5197b2a3898b31d4d8afb33e2216b2ef6e166b09122e514323701e9af3b09643", "dabb9d9a88f2b515e9728559ced5751bd531ba2bf17e7f3745322714bd4be68d", true ]}

two hashes i sent in mining.notify (seed and pow-hash) are taken from eth_getWork blockchain request

just after start nicehash order goes to DEAD status and i can't understand why work my pool sent is invalid

i've made implementation corresponding to this article https://github.com/nicehash/Specifications/blob/master/EthereumStratum_NiceHash_v1.0.0.txt

can u plz explain where i'm wrong ?

Rom1kz commented 6 years ago

the problem is solved mistake was on the pool side