I know how to use a miner, how to use a pool and stuff like that, and I have done it before (and am right now), but I've always wondered what the actual process was to calculating hashes? What is my miner doing right now?
I've seen this:
doHash(block_header) {
hasher = new SHA256();
hasher.update(block_header[0..63]); // update A1
hasher.update(block_header[64..127]); // update A2
hash1 = hasher.getHash();
hasher.reset();
hasher.update(hash1); // update B
hash2 = hasher.getHash();
return hash2
}
but I have pretty much no clue what it means.