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

在此處,pathToRoundRoott0 會包含:[(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,系統會假設這是套用至指定鍵先前儲存值的差異 (整數偏移)。在這種情況下,newValoldVal 應為空白。

否則,系統會假設至少有一個 oldValnewVal (或兩者都有)。空白 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 表示法
{
  "rootHashHex": string,
  "rootDigestHex": string,
  "numTransactions": string
}
欄位
rootHashHex
(deprecated)

string

僅供輸出。根節點的加密摘要。已淘汰:請改用 rootDigestHex

rootDigestHex

string

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

numTransactions

string (int64 format)

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

MerkleTreeNode

代表 Merkle 樹路徑中的節點。

JSON 表示法
{
  "leftChildHashHex": string,
  "rightChildHashHex": string,
  "leftChildDigestHex": string,
  "rightChildDigestHex": string
}
欄位
leftChildHashHex
(deprecated)

string

僅供輸出。節點左側子項摘要的十六進位表示法。已淘汰:請改用 leftChildDigestHex

rightChildHashHex
(deprecated)

string

僅供輸出。節點右側子項摘要的十六進位表示法。已淘汰:請改用 rightChildDigestHex

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

  // 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)

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