Not just transaction ids, all of the parameters below
Coinbase1
ExtraNonce
ExtraNonce2
Coinbase2
Transaction Ids[]
Those parameters are part of the transaction ids. All of those parameters except for transaction Ids[] are for constructing the coinbase transaction. It's txid is then used in the merkle root.
But to form a block header, I need markel which is calculated using coinbase + transaction ids. Right ? I'm referring to the logic from the reference link and other miner source code I referred, which happen to be doing same thing.
Edit 1:
Ok so if I'm getting what you are saying is, once the block is solved below markel_root becomes a transaction id to send newly generated coins which is already included in blocexplorer's transactions
merkle_root = sha256(sha256(unhexlify(coinbase)).digest()).digest()
Edit 2:
I just tested markel calculation just using transaction id from random solved block and its not matching with that blocks markel.
Am I missing something, to reverse engineer the solved block ?