Can anyone help me to find out the format of
There is an array with [
32byte number +
variable raw data] for each element.
What is that 32b number? And may be how to understand what is the other variable data?
rev*.dat files (the "undo files"), contain all UTXOs spent by the inputs of a block. It was introduced in Bitcoin Core 0.8, and contains a concatenation of records, one for each block. This mimicks the structure of the
blk*.dat files which contain blocks.
Each block record consists of:
A CBlockUndo record consists of a serialized vector of CTxUndo records, one for each transaction in the block excluding the coinbase transaction. Vector serialization first writes a CompactSize-encoded length of the number of records (the transaction count - 1, in this case), and then serialized all the records themselves sequentially.
A CTxUndo record consists of a serialized vector of CTxInUndo records, one for each input in the transaction.
A CTxInUndo record consists of:
Until Bitcoin Core 0.14.x, the height is zero for all but the last output of a given transaction being spent. In Bitcoin Core 0.15 (to be released soon), it will be present for every spend.