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 的字节相同,每个签署者都应使用自己的私钥进行签名。

其他签署者的数量和身份取决于特定交易类型。对于交易链,链中作为发送方或单元签署者的每个账号都需要一个签名。

使用 base64 编码的字符串。

otherSigningKeySlots[]

enum (KeySlot)

可选。列为额外交易签署者的账号的密钥槽。如果设置了此字段,则这些密钥槽的数量和顺序必须与 SignedTransaction 中的 otherSignatures 字段匹配。如果未指定,则默认为每个账号的主槽。