SignedTransaction

署名が添付されたトランザクション。トランザクションを送信するには、このメッセージをシリアル化して SubmitTransactionRequest に含める必要があります。

JSON 表現
{
  "serializedClientTransaction": string,
  "senderSignature": string,
  "senderSigningKeySlot": enum (KeySlot),
  "otherSignatures": [
    string
  ],
  "otherSigningKeySlots": [
    enum (KeySlot)
  ]
}
フィールド
serializedClientTransaction

string (bytes format)

必須。トランザクションの取引明細を含むシリアル化された ClientTransaction。

Base64 でエンコードされた文字列。

senderSignature

string (bytes format)

必須。トランザクション送信者の署名。

署名は、独自の秘密鍵で serializedClientTransaction バイトに署名することで計算する必要があります。

トランザクション チェーンの場合、署名されるバイトは、次の連結として計算されます。

  • チェーン全体のシリアル化されたクライアント トランザクションのダイジェスト。
  • チェーン内の各ユニットのシリアル化された署名付きトランザクションのダイジェスト。チェーンに表示される順序で並んでいます。

ダイジェストは SHA-256 を使用して計算されます。

Base64 でエンコードされた文字列。

senderSigningKeySlot

enum (KeySlot)

省略可。トランザクションの署名に使用される送信者の鍵スロット。指定しない場合は、送信者アカウントのメインスロットが使用されます。

otherSignatures[]

string (bytes format)

省略可。追加の取引署名者としてリストされているアカウントの署名。これらの署名の数と順序は、ClientTransaction の signatories フィールドと一致している必要があります。

署名されるバイトは senderSignature のバイトと同じです。各署名者は、独自の秘密鍵を使用して署名する必要があります。

追加の署名者の数と ID は、特定の取引の種類によって異なります。トランザクション チェーンの場合、チェーン内のユニットの送信者または署名者として表示されるアカウントごとに 1 つの署名が必要です。

Base64 でエンコードされた文字列。

otherSigningKeySlots[]

enum (KeySlot)

省略可。追加のトランザクション署名者としてリストされているアカウントの鍵スロット。設定する場合、これらの鍵スロットの数と順序は、SignedTransaction の otherSignatures フィールドと一致する必要があります。指定しない場合は、各アカウントのメインスロットがデフォルトになります。