SignedTransaction

Eine Transaktion mit angehängten Unterschriften. Damit eine Transaktion gesendet werden kann, muss diese Nachricht serialisiert und in ein SubmitTransactionRequest aufgenommen werden.

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

string (bytes format)

Erforderlich. Eine serialisierte ClientTransaction mit den Transaktionsdetails.

Ein base64-codierter String.

senderSignature

string (bytes format)

Erforderlich. Die Signatur des Transaktionssenders.

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

Bei einer Transaktionskette werden die zu signierenden Bytes als Verkettung der folgenden Elemente berechnet: - Ein Digest der serialisierten Client-Transaktion der gesamten Kette. – Eine Zusammenfassung 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 Unterschriften von Konten, die als zusätzliche Unterzeichner von Transaktionen aufgeführt sind. Anzahl und Reihenfolge dieser Signaturen müssen mit dem Feld signatories im ClientTransaction übereinstimmen.

Die zu signierenden Bytes 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üssel-Slots der Konten, die als zusätzliche Transaktionsunterzeichner aufgeführt sind. Wenn diese festgelegt sind, müssen die Anzahl und Reihenfolge dieser Schlüssel-Slots mit dem Feld otherSignatures im SignedTransaction übereinstimmen. Wenn nicht angegeben, wird standardmäßig der primäre Slot jedes Kontos verwendet.