TransactionAttempt

嘗試提交交易的狀態。

JSON 表示法
{
  "status": enum (TransactionStatus),
  "proofOfInclusion": {
    object (ProofOfInclusion)
  },
  "statusEvents": [
    {
      object (StatusEvent)
    }
  ]
}
欄位
status

enum (TransactionStatus)

僅供輸出。交易嘗試的目前狀態。

proofOfInclusion

object (ProofOfInclusion)

僅供輸出。世界狀態中包含交易效果的憑證。只有在狀態為 FINALIZED 時才會提供。

statusEvents[]

object (StatusEvent)

僅供輸出。系統為交易嘗試記錄的排序狀態事件。

TransactionStatus

交易嘗試的狀態。

列舉
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)

僅供輸出。執行輪次中交易影響的加密編譯證明。

路徑是從指定葉節點 (交易摘要) 到執行輪次的根節點。路徑會以 (左子項、右子項) 配對清單表示,第一組配對是指定葉節點父項節點的左子項和右子項。舉例來說,假設 Merkle 樹狀結構是以八個葉摘要 [t0, t1, t2, t3, t4, t5, t6, t7] 建構而成,結構如下:

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

其中,t0 的 pathToRoundRoot 會包含:[(t0, t1), (h10, h11), (h20, h21)]。

您可以連續計算每個路徑節點的 SHA-256 摘要,確認路徑摘要產生的值與 roundCertificate.merkle_tree.root_digest_hex 相同。藉此驗證該葉節點是否包含在該輪的 Merkle 樹狀結構中。

TransactionCertificate

一輪中執行特定交易的憑證。

JSON 表示法
{
  "transactionDigestHex": string,
  "roundId": string,
  "transactionEffects": {
    object (TransactionEffects)
  },
  "events": [
    {
      object (TransactionEvent)
    }
  ],
  "transactionEffectsStateChecksumHex": string,
  "certificationResultsDigestHex": string
}
欄位
transactionDigestHex

string

僅供輸出。憑證對應的交易 ID。

roundId

string (int64 format)

僅供輸出。執行這筆交易的執行回合 ID。

transactionEffects

object (TransactionEffects)

僅供輸出。交易執行後的影響。

events[]

object (TransactionEvent)

僅供輸出。交易產生的事件。

transactionEffectsStateChecksumHex

string

僅供輸出。效果的同態核對和。2048 位元組值,編碼為十六進位字串。

certificationResultsDigestHex

string

僅供輸出。所有先前欄位的密碼編譯摘要,依序排列。用於建構 Merkle 樹狀結構,以證明包含。

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 類型的特殊事件包含交易產生的輸出內容,例如新建立帳戶的帳戶 ID。

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)

僅供輸出。憑證所屬回合的 ID。

validatorId

string

僅供輸出。人類可讀的驗證器 ID。用於查詢驗證 validatorSignatures 的公開金鑰。

roundStateChecksumHex

string

僅供輸出。套用本回合效果後,世界狀態同態摘要的十六進位表示法。

roundDeltaChecksumHex

string

僅供輸出。這一輪匯總交易效果的同態摘要十六進位表示法。

merkleTree

object (MerkleTree)

僅供輸出。Merkle 樹,以這個回合為根節點,並以交易批次 (在回合中執行) 為葉。

validatorSignatures[]

string (bytes format)

選用。驗證者的簽名。這項簽章會簽署在這筆記錄前一個酬載的摘要上。

Base64 編碼字串。

isFinalized

boolean

僅供輸出。布林值,指出該輪是否已完成,也就是是否有足夠的驗證者使用相同憑證認證該輪。

MerkleTree

具有根節點加密摘要的 Merkle 樹。

JSON 表示法
{
  "rootDigestHex": string,
  "numTransactions": string
}
欄位
rootDigestHex

string

僅供輸出。根節點摘要的十六進位表示法。格式:64 個字元的十六進位字串。

numTransactions

string (int64 format)

僅供輸出。樹狀結構中的交易數量。

MerkleTreeNode

代表 Merkle 樹狀結構路徑中的節點。

JSON 表示法
{
  "leftChildDigestHex": string,
  "rightChildDigestHex": string
}
欄位
leftChildDigestHex

string

僅供輸出。節點左子項摘要的十六進位表示法。格式:64 個字元的十六進位字串。

rightChildDigestHex

string

僅供輸出。節點右側子項摘要的十六進位表示法。格式: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

代表交易處理過程中的事件類型,由要求轉送至的驗證器觀察。

列舉
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 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "executionDetails": {
    object (ExecutionDetails)
  }
  // End of mutually exclusive fields.
}
欄位
事件詳細資料。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
executionDetails

object (ExecutionDetails)

僅供輸出。執行事件的其他詳細資料。

互斥欄位結束。

ExecutionDetails

執行事件的其他詳細資料。

JSON 表示法
{
  "roundId": string
}
欄位
roundId

string (int64 format)

僅供輸出。發生執行事件的回合 ID。