TransactionAttempt

המצב של ניסיון לשליחת עסקה.

ייצוג ב-JSON
{
  "status": enum (TransactionStatus),
  "proofOfInclusion": {
    object (ProofOfInclusion)
  },
  "statusEvents": [
    {
      object (StatusEvent)
    }
  ]
}
שדות
status

enum (TransactionStatus)

פלט בלבד. הסטטוס הנוכחי של ניסיון העסקה.

proofOfInclusion

object (ProofOfInclusion)

פלט בלבד. אישור על הכללת השפעות העסקה במצב העולמי. הערך הזה מסופק רק אם הסטטוס הוא FINALIZED.

statusEvents[]

object (StatusEvent)

פלט בלבד. אירועי הסטטוס של ההזמנה שנרשמו לניסיון העסקה.

TransactionStatus

הסטטוס של ניסיון העסקה.

טיפוסים בני מנייה (enum)
TRANSACTION_STATUS_UNSPECIFIED מצב לא ידוע או לא מאותחל.
PENDING העסקה מוכרת לכלי האימות הזה, אבל היא עדיין לא סופית.
FINALIZED העסקה הושלמה. ההשפעות שלה נשמרו בבלוקצ'יין ואי אפשר לבטל אותן.

ProofOfInclusion

אישור על הכללת ההשפעות של טרנזקציה במצב העולמי.

ייצוג ב-JSON
{
  "transactionCertificate": {
    object (TransactionCertificate)
  },
  "roundCertificate": {
    object (RoundCertificate)
  },
  "pathToRoundRoot": [
    {
      object (MerkleTreeNode)
    }
  ]
}
שדות
transactionCertificate

object (TransactionCertificate)

פלט בלבד. אישור על הכללת ההשפעות של העסקה בסבב ספציפי.

roundCertificate

object (RoundCertificate)

פלט בלבד. אישור על ביצוע הסבב.

pathToRoundRoot[]

object (MerkleTreeNode)

פלט בלבד. הוכחה קריפטוגרפית להכללה של השפעות העסקה בסבב הביצוע.

הוא ניתן כנתיב מעלה נתון (תקציר טרנזקציה) אל שורש סבב הביצוע. הנתיב מיוצג כרשימה של זוגות (צאצא שמאלי, צאצא ימני), והזוג הראשון הוא הצאצא השמאלי והצאצא הימני של צומת האב של העלה הנתון. לדוגמה, נניח שעץ מרקל נבנה עם שמונה תמציות של עלים [t0, t1, t2, t3, t4, t5, t6, t7], עם המבנה הבא:

       _____root_digest____
      |                    |
   __ h20__             __h21__
  |        |           |       |
 h10     h11          h12     h13
 | |     | |          | |     | |
t0 t1   t2 t3        t4 t5   t6 t7

בקטע הזה, pathToRoundRoot עבור t0 יכלול את: [(t0, t1), (h10, h11), (h20, h21)].

אפשר לחשב ברצף את הגיבובים של SHA-256 של כל צומת בנתיב כדי לוודא שהגיבוב של הנתיב יוצר את אותו ערך כמו roundCertificate.merkle_tree.root_digest_hex. כך מוודאים שהעלה נכלל בעץ מרקל של הסיבוב.

TransactionCertificate

אישור על ביצוע עסקה ספציפית בסבב.

ייצוג ב-JSON
{
  "transactionDigestHex": string,
  "roundId": string,
  "transactionEffects": {
    object (TransactionEffects)
  },
  "events": [
    {
      object (TransactionEvent)
    }
  ],
  "transactionEffectsStateChecksumHex": string,
  "certificationResultsDigestHex": string
}
שדות
transactionDigestHex

string

פלט בלבד. המזהה של העסקה שאליה מתייחס האישור הזה.

roundId

string (int64 format)

פלט בלבד. המזהה של סבב הביצוע שבו בוצעה העסקה הזו.

transactionEffects

object (TransactionEffects)

פלט בלבד. ההשפעות מביצוע העסקה.

events[]

object (TransactionEvent)

פלט בלבד. אירועים שנוצרו על ידי העסקה.

transactionEffectsStateChecksumHex

string

פלט בלבד. סכום ביקורת הומומורפי של האפקטים. ערך בגודל 2048 בתים (bytes) שמקודד כמחרוזת הקסדצימלית.

certificationResultsDigestHex

string

פלט בלבד. תמצית קריפטוגרפית של כל השדות הקודמים ברצף. הוא משמש לבניית עץ מרקל להוכחת ההכללה.

TransactionEffects

ההשפעות של ביצוע עסקה.

ייצוג ב-JSON
{
  "status": {
    object (TransactionStatus)
  },
  "effects": [
    {
      object (TransactionEffect)
    }
  ]
}
שדות
status

object (TransactionStatus)

פלט בלבד. הסטטוס שמתקבל של ביצוע העסקה.

effects[]
(deprecated)

object (TransactionEffect)

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

TransactionStatus

מייצג את הסטטוס של ביצוע עסקה.

ייצוג ב-JSON
{
  "code": integer,
  "message": string
}
שדות
code

integer

פלט בלבד. קוד הסטטוס, ערך מספרי שהמשמעות שלו מוגדרת על ידי קוד הסטטוס התואם של gRPC.

message

string (bytes format)

פלט בלבד. הודעת השגיאה, אם יש כזו. ההגדרה הזו רלוונטית רק אם הקוד הוא לא OK. זו מחרוזת שמקודדת כבייטים בקידוד utf-8. הנתונים מאוחסנים כבייטים כדי למנוע בעיות בדטרמיניזם של הקידוד.

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

TransactionEffect

מייצג עדכון של מצב העולם על ידי עסקה כלשהי.

אם יש לו deltaVal, מניחים שמדובר בדלתא (היסט של מספר שלם) שמוחלת על הערך שאוחסן קודם במפתח נתון. במקרה כזה, העמודות newVal ו-oldVal צריכות להיות ריקות.

אחרת, המערכת מניחה שיש לו לפחות את oldVal או newVal (או את שניהם). אם התג oldVal ריק, המשמעות היא שהערך הוכנס. ערך ריק newVal מציין שהערך נמחק.

ייצוג ב-JSON
{
  "key": string,
  "oldVal": string,
  "newVal": string,
  "deltaVal": string
}
שדות
key

string (bytes format)

פלט בלבד. המפתח במצב העולמי שעודכן.

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

oldVal

string (bytes format)

פלט בלבד. הערך של המפתח לפני ביצוע העסקה.

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

newVal

string (bytes format)

פלט בלבד. הערך של המפתח אחרי ביצוע העסקה.

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

deltaVal

string (int64 format)

פלט בלבד. היסטוריית שינויים של מספר שלם שהוחל על הערך הקודם ששמור.

TransactionEvent

אירוע שנוצר על ידי עסקה.

ייצוג ב-JSON
{
  "type": string,
  "attributes": [
    {
      object (EventAttribute)
    }
  ]
}
שדות
type

string

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

attributes[]

object (EventAttribute)

פלט בלבד. מאפייני האירוע כצמדי מפתח/ערך שרירותיים.

EventAttribute

מאפיין בודד כצמד מפתח/ערך.

ייצוג ב-JSON
{
  "key": string,
  "value": string
}
שדות
key

string

פלט בלבד. המפתח של המאפיין.

value

string

פלט בלבד. הערך של המאפיין.

RoundCertificate

אישור על ביצוע סבב על ידי מאמת ספציפי.

ייצוג ב-JSON
{
  "roundId": string,
  "validatorId": string,
  "roundStateChecksumHex": string,
  "roundDeltaChecksumHex": string,
  "merkleTree": {
    object (MerkleTree)
  },
  "validatorSignatures": [
    string
  ],
  "isFinalized": boolean
}
שדות
roundId

string (int64 format)

פלט בלבד. המזהה של הסבב שאליו משויך האישור.

validatorId

string

פלט בלבד. מזהה כלי התיקוף בפורמט שקריא לאנשים. הערך הזה משמש לחיפוש המפתח הציבורי שמשמש לאימות של validatorSignatures.

roundStateChecksumHex

string

פלט בלבד. ייצוג הקסדצימלי של ה-digest ההומומורפי של מצב העולם אחרי שההשפעות של הסיבוב הזה מיושמות.

roundDeltaChecksumHex

string

פלט בלבד. ייצוג הקסדצימלי של התמצית ההומומורפית של השפעות העסקאות המצטברות בסבב הזה.

merkleTree

object (MerkleTree)

פלט בלבד. עץ מרקל שבו הסיבוב הזה הוא צומת השורש, ואצוות העסקאות (שבוצעו בסיבוב) הן העלים.

validatorSignatures[]

string (bytes format)

זה שינוי אופציונלי. החתימה של המאמת. החתימה הזו מתבצעת על ה-digest של המטען הייעודי הקודם של הרשומה הזו.

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

isFinalized

boolean

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

MerkleTree

עץ מרקל עם תקציר קריפטוגרפי של צומת השורש.

ייצוג ב-JSON
{
  "rootHashHex": string,
  "rootDigestHex": string,
  "numTransactions": string
}
שדות
rootHashHex
(deprecated)

string

פלט בלבד. התקציר הקריפטוגרפי של צומת הבסיס. הוצא משימוש: במקומו, צריך להשתמש ב-rootDigestHex.

rootDigestHex

string

פלט בלבד. הייצוג ההקסדצימלי של הגיבוב של צומת הבסיס. פורמט: מחרוזת הקסדצימלית באורך 64 תווים.

numTransactions

string (int64 format)

פלט בלבד. מספר העסקאות בעץ.

MerkleTreeNode

מייצג צומת בנתיב של עץ מרקל.

ייצוג ב-JSON
{
  "leftChildHashHex": string,
  "rightChildHashHex": string,
  "leftChildDigestHex": string,
  "rightChildDigestHex": string
}
שדות
leftChildHashHex
(deprecated)

string

פלט בלבד. הייצוג ההקסדצימלי של ה-digest של צאצא שמאלי של צומת. הוצא משימוש: במקומו, צריך להשתמש ב-leftChildDigestHex.

rightChildHashHex
(deprecated)

string

פלט בלבד. הייצוג ההקסדצימלי של ה-digest של צאצא ימני של צומת. הוצא משימוש: במקומו, צריך להשתמש ב-rightChildDigestHex.

leftChildDigestHex

string

פלט בלבד. הייצוג ההקסדצימלי של ה-digest של צאצא שמאלי של צומת. פורמט: מחרוזת הקסדצימלית באורך 64 תווים.

rightChildDigestHex

string

פלט בלבד. הייצוג ההקסדצימלי של ה-digest של צאצא ימני של צומת. פורמט: מחרוזת הקסדצימלית באורך 64 תווים.

StatusEvent

מייצג אירוע בתהליך של עסקה כפי שנצפה על ידי מאמת יחיד.

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

ייצוג ב-JSON
{
  "eventTime": string,
  "eventType": enum (EventType),
  "eventDetails": {
    object (EventDetails)
  }
}
שדות
eventTime

string (Timestamp format)

פלט בלבד. השעה שבה האירוע תועד על ידי הכלי הזה לאימות.

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

eventType

enum (EventType)

פלט בלבד. סוג האירוע.

eventDetails

object (EventDetails)

פלט בלבד. פרטים נוספים שמשויכים לאירוע.

EventType

מייצג את הסוג של אירוע בתהליך של טרנזקציה, כפי שנצפה על ידי כלי האימות שהבקשה הועברה אליו.

טיפוסים בני מנייה (enum)
EVENT_TYPE_UNSPECIFIED אירוע לא ידוע או לא מוגדר.
EVENT_TYPE_RECEIVED העסקה התקבלה ישירות מהלקוח על ידי כלי האימות הזה.
EVENT_TYPE_BROADCASTED העסקה שודרה על ידי המאמת הזה למאמתים אחרים.
EVENT_TYPE_ORDERED העסקה הוזמנה ותוכננה לביצוע על ידי מאמת זה.
EVENT_TYPE_EXECUTION_STARTED הביצוע של העסקה התחיל.
EVENT_TYPE_EXECUTION_COMPLETED ההרצה של העסקה הסתיימה.
EVENT_TYPE_FINALIZED העסקה הסתיימה על ידי מאמת התשלומים הזה.

EventDetails

מייצג פרטים נוספים של אירוע סטטוס.

ייצוג ב-JSON
{

  // Union field event_details can be only one of the following:
  "executionDetails": {
    object (ExecutionDetails)
  }
  // End of list of possible types for union field event_details.
}
שדות
שדה איחוד event_details. פרטי האירוע. הערך event_details יכול להיות רק אחד מהבאים:
executionDetails

object (ExecutionDetails)

פלט בלבד. פרטים נוספים על אירוע הרצה.

ExecutionDetails

פרטים נוספים על אירוע הרצה.

ייצוג ב-JSON
{
  "roundId": string
}
שדות
roundId

string (int64 format)

פלט בלבד. מזהה הסיבוב שבו התרחש אירוע ההפעלה.