SignedTransaction

Transaction avec signatures jointes. Pour envoyer une transaction, ce message doit être sérialisé et inclus dans une SubmitTransactionRequest.

Représentation JSON
{
  "serializedClientTransaction": string,
  "senderSignature": string,
  "senderSigningKeySlot": enum (KeySlot),
  "otherSignatures": [
    string
  ],
  "otherSigningKeySlots": [
    enum (KeySlot)
  ]
}
Champs
serializedClientTransaction

string (bytes format)

Obligatoire. ClientTransaction sérialisée avec les détails de la transaction.

Chaîne encodée en base64.

senderSignature

string (bytes format)

Obligatoire. Signature de l'expéditeur de la transaction.

La signature doit être calculée en signant les octets serializedClientTransaction avec leur propre clé privée.

Pour une chaîne de transactions, les octets à signer sont calculés comme la concaténation des éléments suivants : - Un condensé de la transaction client sérialisée de l'ensemble de la chaîne. - Un condensé de la transaction signée sérialisée de chaque unité de la chaîne, dans l'ordre dans lequel elles apparaissent dans la chaîne. Les condensés sont calculés à l'aide de SHA-256.

Chaîne encodée en base64.

senderSigningKeySlot

enum (KeySlot)

Facultatif. Emplacement de la clé de l'expéditeur utilisée pour signer la transaction. Utilise l'emplacement principal du compte de l'expéditeur s'il n'est pas spécifié.

otherSignatures[]

string (bytes format)

Facultatif. Signatures des comptes répertoriés comme signataires supplémentaires de la transaction. Le nombre et l'ordre de ces signatures doivent correspondre au champ signatories dans ClientTransaction.

Les octets à signer sont les mêmes que ceux de senderSignature, que chaque signataire doit signer avec sa propre clé privée.

Le nombre et l'identité des signataires supplémentaires dépendent du type de transaction. Pour une chaîne de transactions, une signature est nécessaire pour chaque compte apparaissant comme expéditeur ou signataire d'une unité de la chaîne.

Chaîne encodée en base64.

otherSigningKeySlots[]

enum (KeySlot)

Facultatif. Emplacements de clé des comptes répertoriés comme signataires supplémentaires de la transaction. Si cette option est définie, le nombre et l'ordre de ces emplacements de clé doivent correspondre au champ otherSignatures dans SignedTransaction. Si ce champ n'est pas spécifié, l'emplacement principal de chaque compte est utilisé par défaut.