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

在此处,t0pathToRoundRoot 将包含:[(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

仅限输出。人类可读的验证器标识符。用于查找验证 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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。