Guys I have a few points that are not clear for me. 1) In the link below it says there are some fields we have to combine and hash. However when I get a work by saying getwork from a pool. What I get is in the below either. The problem is that I cannot find the fields listed in the first link, Version, hashPrevBlock etc.
https://en.bitcoin.it/wiki/Block_hashing_algorithm
Getwork result.
{ 'data':'0000000271112b7a1cf8e97b8367102f7e155499bf5c7303cbcdd4360000000000000000427719b35a84bc7732edd34ff3a6278dc4ac0ec2a9544e6088bc0bd719e17a8e52db3b211902666600000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000',
'hash1':'00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010000',
'target':'0000000000000000000000000000000000000000000000000000ffff00000000',
'midstate':'45aebb01c0fdb704ee7d2bbf02665943f50f299ff8bb252e614100065bc5c20c'
}
2) It says in the first link "Whenever Nonce overflows (which it does frequently), the extraNonce portion of the generation transaction is incremented, which changes the Merkle root." Should I put extra 32 bits for extranonce?
3) What is the reason reversing the header?