getSignatures3 (15)

Finalized

The getSignatures3 message is a request sent by a node to a peer to get the complete data for specific signatures. This is typically used when a node learns about the existence of a signature (e.g., from an inventory message) but does not have the full signature object itself.

The request specifies a block number and a list of signature identifiers (the PoW solutions).

Core Data Types

Payload Structure

FieldData TypeMinMaxDescription
blockNumIxiVarUInt1The block number that the requested signatures belong to.
countIxiVarUInt1The number of signature identifiers that follow in this message.
solutionsIxiBytes[]An array of count signature identifiers (the PoW solutions).

Behavioral Notes

  • A node sends this message to "flesh out" a signature inventory.
  • Upon receiving this message, a peer should look up each signature in the solutions list for the given blockNum.
  • For each signature found, the peer should package the full signature data into a blockSignature2 object.
  • These full blockSignature2 objects are then sent back to the requester in one or more signaturesChunk2 messages.
  • It is not an error if the receiving node does not have some of the requested signatures; it simply omits them from the response.