SignedTransaction

Eine Transaktion mit angehängten Signaturen. Um eine Transaktion zu senden, sollte diese Nachricht serialisiert und in eine SubmitTransactionRequest aufgenommen werden.

JSON-Darstellung
{
  "serializedClientTransaction": string,
  "senderSignature": string,
  "senderSigningKeySlot": enum (KeySlot),
  "otherSignatures": [
    string
  ],
  "otherSigningKeySlots": [
    enum (KeySlot)
  ]
}
Felder
serializedClientTransaction

string (bytes format)

Erforderlich. Ein serialisiertes ClientTransaction mit den Transaktionsdetails.

Ein base64-codierter String.

senderSignature

string (bytes format)

Erforderlich. Die Signatur des Transaktionsabsenders.

Die Signatur sollte durch Signieren der serializedClientTransaction-Byte mit dem eigenen privaten Schlüssel berechnet werden.

Für eine Transaktionskette werden die zu signierenden Bytes als Verkettung der folgenden Elemente berechnet:

  • Ein Digest der serialisierten Clienttransaktion der gesamten Kette.
  • Ein Digest der serialisierten signierten Transaktion jeder Einheit in der Kette in der Reihenfolge, in der sie in der Kette erscheinen.

Die Digests werden mit SHA-256 berechnet.

Ein base64-codierter String.

senderSigningKeySlot

enum (KeySlot)

Optional. Der Schlüsselslot des Absenders, der zum Signieren der Transaktion verwendet wurde. Wenn nicht angegeben, wird der primäre Slot des Absenderkontos verwendet.

otherSignatures[]

string (bytes format)

Optional. Die Signaturen von Konten, die als zusätzliche Transaktionsunterzeichner aufgeführt sind. Die Anzahl und Reihenfolge dieser Signaturen muss mit dem Feld signatories in der ClientTransaction übereinstimmen.

Die zu signierenden Byte sind dieselben wie für die senderSignature, die jeder Unterzeichner mit seinem eigenen privaten Schlüssel signieren sollte.

Die Anzahl und Identität der zusätzlichen Unterzeichner hängt von der jeweiligen Transaktionsart ab. Für eine Transaktionskette ist eine Signatur für jedes Konto erforderlich, das entweder als Absender oder als Unterzeichner einer Einheit in der Kette erscheint.

Ein base64-codierter String.

otherSigningKeySlots[]

enum (KeySlot)

Optional. Die Schlüsselslots der Konten, die als zusätzliche Transaktionsunterzeichner aufgeführt sind. Wenn festgelegt, müssen die Anzahl und Reihenfolge dieser Schlüsselslots mit dem Feld otherSignatures im SignedTransaction übereinstimmen. Wenn keine Angabe gemacht wird, wird standardmäßig der primäre Slot jedes Kontos verwendet.