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 ツリーが 8 つのリーフ ダイジェスト [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 と同じ値を生成することを確認できます。これにより、リーフがラウンドのマークルツリーに含まれていることを確認します。

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

出力専用。効果の準同型チェックサム。16 進数文字列としてエンコードされた 2,048 バイトの値。

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(またはその両方)が少なくとも 1 つあると想定されます。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)

出力専用。任意の Key-Value ペアとしてのイベント属性。

EventAttribute

Key-Value ペアとしての個々の属性。

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

出力専用。このラウンドの効果が適用された後のワールド状態に対する準同型ダイジェストの 16 進数表現。

roundDeltaChecksumHex

string

出力専用。このラウンドの集計されたトランザクション効果に対する準同型ダイジェストの 16 進数表現。

merkleTree

object (MerkleTree)

出力専用。このラウンドをルートノードとし、(ラウンドで実行された)トランザクション バッチをリーフとするマークルツリー。

validatorSignatures[]

string (bytes format)

省略可。検証ツールの署名。これは、このレコードの前のペイロードのダイジェストで署名されます。

Base64 でエンコードされた文字列。

isFinalized

boolean

出力専用。ラウンドが確定したかどうかを示すブール値。つまり、十分なクォーラムのバリデータが同じ証明書でこのラウンドを認定したかどうかを示します。

MerkleTree

ルートノードの暗号ダイジェストを含むマークルツリー。

JSON 表現
{
  "rootDigestHex": string,
  "numTransactions": string
}
フィールド
rootDigestHex

string

出力専用。ルートノードのダイジェストの 16 進数表現。形式: 64 文字の 16 進数文字列。

numTransactions

string (int64 format)

出力専用。ツリー内のトランザクションの数。

MerkleTreeNode

Merkle ツリーパスのノードを表します。

JSON 表現
{
  "leftChildDigestHex": string,
  "rightChildDigestHex": string
}
フィールド
leftChildDigestHex

string

出力専用。ノードの左側の子のダイジェストの 16 進数表現。形式: 64 文字の 16 進数文字列。

rightChildDigestHex

string

出力専用。ノードの右の子のダイジェストの 16 進数表現。形式: 64 文字の 16 進数文字列。

StatusEvent

1 つのバリデータによって観測された、トランザクションの処理におけるイベントを表します。

報告されるすべての値は、リクエストを処理するバリデータの観点からのものであり、他のバリデータの見解とは異なる場合があります。

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.
}
フィールド
イベントの詳細。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
executionDetails

object (ExecutionDetails)

出力専用。実行イベントの詳細。

相互に排他的なフィールドの終了。

ExecutionDetails

実行イベントの詳細。

JSON 表現
{
  "roundId": string
}
フィールド
roundId

string (int64 format)

出力専用。実行イベントが発生したラウンド ID。