In cryptonote_protocol_defs.h block_complete_entry is declare that is used within the monero code right?

The block_complete_entry has a blobdata txs. How does the txs blobdata looks like and what structure does it have?

Bonus question why are tx_output_indices needed within a COMMAND_RPC_GET_BLOCKS_FAST Response. Are the indices not part of the txs blobdata from block_complete_entry ?


The txs field of the block_comptete_entry structure is a list of serialized transactions. When you get it from the getblocks.bin or getblocks_by_height.bin RPCs, it will appear as a serialized array of serialized transactions (i.e. an array of data strings).

A serialized transaction is made of:

  • version (varint)
  • unlock time (varint)
  • inputs (vector of transaction input targets)
  • outputs (vector of transaction outputs)
  • extra (vector of bytes)
  • signature (ring signature if transaction version is 1, and ringct signature if it is 2)

The outputs' indices are not part of the transactions. The daemon builds a table of output indices in chronological order in its database when it processes blocks (c.f. Where is the global array of outputs of type txout_to_key?).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.