NebulousLabs / Sia-GPU-Miner

A GPU Miner for Sia
MIT License
151 stars 79 forks source link

Progress Indicator #29

Closed DavidVorick closed 9 years ago

DavidVorick commented 9 years ago

Mining blocks is technically 'progress free', but you can still get a sense of progress/progression by checking hashes on smaller blocks.

I do feel that the progress meter should be based on actual hashes that got mined, and not based on a calculated hashrate. I think an easy way to achieve this would be to have opencl check for a target that passes a check with 'n-1' leading 0s instead of a check with 'n' leading zeroes. The main program could then tell that a 'miniblock' had been found, and that could be reported to the user.

If the miniblock is also a full block (which will happen approx. 1-in-256 times), then the block gets submitted to siad. This will require the cpu to know what the result was, which is probably best achieved by having the cpu compute it manually. It's probably okay to add a 'blake2b.c' to assist with this.

The big reason for this is that users are going long stretches of time without mining blocks, and they are wondering if it is working. The progress indicator gives you a sense that you are in fact mining blocks, and it also gives you a reasonable sense of how often you'll mine a full block, even if you don't know the network hashrate or the current target.

DavidVorick commented 9 years ago

This is being shelved. Instead we'll be making a mining pool.