Share is above target when switching between stratums

0

I'm running a pool for some friends and myself, where we mine both dogecoin and litecoin (and occasionaly some other flavor of the day). The farms are pointing to a simple proxy: a C daemon that is connected to the stratums for easy socket switching.

When switching from one coin to the other, the stratum server immediately throws "Share is above target" errors. When it switches back to the original coin, all shares are accepted again

Exactly what causes the 'share is above target' error? Based on the logs below, is there a problem with the mining software or with the stratum sending the wrong data?

Both stratums are configured with a fixed diff level, vardiff is disabled. Here's a log of data going back and forth between a mining farm and server

step 1/5: litecoin stratum sends work to mining farm

{"params": ["ed84", "716a78103f53858c8baadc8179bdbc3012c981db2a41b552998cdc06b6bae287", "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff27034f0f08062f503253482f04398b1c5308", "0d2f7374726174756d506f6f6c2f0000000001a078072a010000001976a914238e80769414592ed96192e13cddf78953e84ff388ac00000000", ["a346c6f74e37f6528e9d34e35c530a79bf11487d5c9404574972ac652331943f", "117086b6331ecef97572a981b1d2a7baf269b163a0c252c03a9f8b93cf1fdc03", "fef9b6758f809b998ce072d7bddefa86657dbee2d0fe1d71fd8a6a5558fa4dce", "7caa16ac719103ea85494bf15ec0b27507fb7367b36c01ccea2151f2eebdc811", "bdf9a2879e8cee859d2510fa63c57411f5b2e32fe0e237f597d28e6add7a9923"], "00000002", "1b0dd506", "531c8b3c", true], "id": null, "method": "mining.notify"}

step 2/5: mining farm sends 6 valid shares to litecoin stratum

{"params": ["FarmOne", "ed84", "04000000", "531c8b3c", "fef81f01"], "id": 2, "method": "mining.submit"}
{"error": null, "id": 2, "result": true}
{"params": ["FarmOne", "ed84", "01000000", "531c8b3c", "c97a2601"], "id": 3, "method": "mining.submit"}
{"error": null, "id": 3, "result": true}
{"params": ["FarmOne", "ed84", "02000000", "531c8b3c", "685efb00"], "id": 4, "method": "mining.submit"}
{"error": null, "id": 4, "result": true}
{"params": ["FarmOne", "ed84", "01000000", "531c8b3c", "bacb9201"], "id": 5, "method": "mining.submit"}
{"error": null, "id": 5, "result": true}
{"params": ["FarmOne", "ed84", "04000000", "531c8b3c", "a221ad01"], "id": 6, "method": "mining.submit"}
{"error": null, "id": 6, "result": true}

step 3/5: system redirects mining farm to dogecoin stratum at this point

step 4/5: dogecoin stratum sends work to mining farm

{"params": ["2610", "bca4622ca0307fc2e3c2398f67b36a0d908306f62cc65761761c2faf1b488be8", "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff2703fd0802062f503253482f04658b1c5308", "0d2f7374726174756d506f6f6c2f000000000100f473ed742b00001976a914c8b32869360584a4876c7d7617142e0f8dc4404988ac00000000", ["2adb1eabd5c3fcabeb5f75c073e6009dee136a3cf0ba6b6082a7ad2f8fe2a070", "1061486e8cebb27914e7d3e24c0ce90e8b1fc0606cb1bf8f4cc61c4e4dbad84d"], "00000002", "1b527845", "531c8b67", true], "id": null, "method": "mining.notify"}

step 5/5: mining farm sends shares to dogecoin straum, but they are are above target

{"params": ["FarmOne", "2610", "04000000", "531c8b67", "f4be2e00"], "id": 7, "method": "mining.submit"}
{"error": [-2, "Share is above target", null], "id": 7, "result": null}
{"params": ["FarmOne", "2610", "01000000", "531c8b67", "45ca4700"], "id": 8, "method": "mining.submit"}
{"error": [-2, "Share is above target", null], "id": 8, "result": null}

Thanks!

Jonathan Brown

Posted 2014-03-09T17:07:38.900

Reputation: 1

When you switch from one coin to another, are the miners informed of that fact? At the very least, perhaps your proxy could disconnect all the miners and let them reconnect.Greg Hewgill 2014-03-09T17:18:15.567

How can I inform the miners of the switch? As far as I can see, after the original communication (subscribe & authorize ) the stratums only send work related messages. Nothing that says "hey i'm a coin, please configure yourself with the following specific settings".Jonathan Brown 2014-03-09T18:48:16.257

reconnecting does work but unfortunately results in many shares going lost, plus the miners have a delay before they check if they can connect again. Upon further research, there are several coin switching pools available, but alas no source on github for it.Jonathan Brown 2014-03-09T18:52:19.730

How does the communication between your mining farm and the clients look like? And what are they using? If they use stratum as well, you can send them new suscription + work information. In the case of getwork/longpolling you will lose all shares until getwork is called from the client againMatthiasB 2014-03-09T21:21:15.563

No answers