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}


  • 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 Mar 9 '14 at 17:18
  • 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 Mar 9 '14 at 18:48
  • 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 Mar 9 '14 at 18:52
  • 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 again – MatthiasB Mar 9 '14 at 21:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.