Maybe I'm being stupid (and it's a high probability) or maybe I'm just tired...
I'm sat here writing a simple bitcoin miner to teach myself about how it all works...
This things I understand:
You "getwork" from the server, which gives you a message with midstate, data, hash1 and target in it.
I know that "data" is the important one.
Data splits up into Version, Previous Hash, Merkle Root, Timestamp, target/"bits", Nonce.
I know that you then do the SHA256 hashing bit (and I know about the double hashing) then increment the nonce and rehash and repeat until you find the "answer"
What I don't get is that when the nonce overflows you need to increment "extraNonce" and reset the nonce back to 0... WHERE is the extra nonce and HOW do you do it? Or is it just a case of sending another getwork request? Also, does this method change if you're solo mining or on a pool...
I did a search of the forums, but I didn't really understand what I was reading... Please put it in terms that idiots would understand
Or give a nice example of some sort, lol
Thanks in advance.