I want to know how to generate different blockhashing_blobs using blocktemplate_blob, returned by the RPC get_block_template method, with different extra fields. To do this, I need to manually recalculate the transaction merkle tree, and for this, I need to get new base transaction hash. In this answer, I found that the transaction hash is calculated using RingCTBase and RingCTPrunable, but I don't find anything about this in the base transaction structure description. Can anyone please tell me how to get this data from blocktemplate_blob?
edited: My question is how, having the body of a base transaction, change one of its fields (extra) and calculate the new hash (identifier) of this base transaction. I can't understand where I get the RingCTBase and RingCTPrunable values. In the description of the structure of the base transaction there is nothing about it.