Question: Can anyone please tell me, which variable holds the hash of the solution of block's PoW in broadcasted block?
I know that a block consists of (I am pretty sure I am forgetting some variables here):

* Magic no
* Block size
* Transactions (raw)
* Transactions counter
* Block header
	+ version
	+ hash of previous block
	+ timestamp
	+ bits
	+ nnonce
	+ hash(MerkleRoot)

So basically, my question is which variable holds the hash of solution of current block's PoW?
Thanks in advance.

Answer: 
It is not stored. The proof of work is in the fact that the hash of your generated block should be of a certain form. It does not make sense to store it either, because you cannot trust it to be the real hash of the block and thus should be calculated anyway.
It is not stored as part of the block data itself. Other clients reply with their list of hashes ahead of yours when you broadcast getblocks. From that list, each block header is downloaded and kept in the local block chain leveldb with the hash as a key.

From [Bitcoin Wiki](https://en.bitcoin.it/wiki/Network#Initial_block_download):

> 
> Initial block download
> ----------------------
> 
> 
> At the start of a connection, you send a getblocks message containing the hash of the latest block you know about. If the peer doesn't think that this is the latest block, it will send an inv that contains up to 500 blocks ahead of the one you listed. You will then request all of these blocks with getdata, and the peer will send them to you with block messages. After you have downloaded and processed all of these blocks, you will send another getblocks, etc., until you have all of the blocks.
> 
> 
>