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)

זה שינוי אופציונלי. החתימות של החשבונות שמופיעים כחותמים נוספים על העסקה. מספר החתימות והסדר שלהן צריכים להיות זהים לשדה signatories ב-ClientTransaction.

הבייטים שצריך לחתום עליהם זהים לאלה של senderSignature, וכל חותם צריך לחתום עליהם באמצעות המפתח הפרטי שלו.

המספר והזהות של החותמים הנוספים תלויים בסוג העסקה. בשרשרת עסקאות, נדרש חתימה אחת לכל חשבון שמופיע כשולח או כחותם של יחידה בשרשרת.

מחרוזת בקידוד Base64.

otherSigningKeySlots[]

enum (KeySlot)

זה שינוי אופציונלי. משבצות המפתחות של החשבונות שמופיעים כחותמים נוספים על העסקה. אם השדה הזה מוגדר, המספר והסדר של משבצות המפתחות האלה צריכים להיות זהים לאלה שבשדה otherSignatures ב-SignedTransaction. אם לא מציינים ערך, ברירת המחדל היא המשבצת הראשית של כל חשבון.