TransactionAttempt

Der Status eines versuchten Transaktionsvorgangs.

JSON-Darstellung
{
  "status": enum (TransactionStatus),
  "proofOfInclusion": {
    object (ProofOfInclusion)
  },
  "statusEvents": [
    {
      object (StatusEvent)
    }
  ]
}
Felder
status

enum (TransactionStatus)

Nur Ausgabe. Der aktuelle Status des Transaktionsversuchs.

proofOfInclusion

object (ProofOfInclusion)

Nur Ausgabe. Zertifikat für die Einbeziehung der Transaktionseffekte in den Weltstatus. Wird nur angegeben, wenn der Status FINALIZED ist.

statusEvents[]

object (StatusEvent)

Nur Ausgabe. Die für den Transaktionsversuch aufgezeichneten Statusereignisse in der Reihenfolge, in der sie aufgetreten sind.

TransactionStatus

Der Status des Transaktionsversuchs.

Enums
TRANSACTION_STATUS_UNSPECIFIED Unbekannter oder nicht initialisierter Status.
PENDING Die Transaktion ist diesem Validator bekannt, wurde aber noch nicht abgeschlossen.
FINALIZED Die Transaktion wird abgeschlossen. Die Auswirkungen wurden in der Blockchain gespeichert und können nicht rückgängig gemacht werden.

ProofOfInclusion

Zertifikat für die Einbeziehung der Auswirkungen einer Transaktion in den Weltstatus.

JSON-Darstellung
{
  "transactionCertificate": {
    object (TransactionCertificate)
  },
  "roundCertificate": {
    object (RoundCertificate)
  },
  "pathToRoundRoot": [
    {
      object (MerkleTreeNode)
    }
  ]
}
Felder
transactionCertificate

object (TransactionCertificate)

Nur Ausgabe. Bescheinigung über die Berücksichtigung der Transaktionseffekte in einer bestimmten Runde.

roundCertificate

object (RoundCertificate)

Nur Ausgabe. Zertifikat für die Ausführung der Runde.

pathToRoundRoot[]

object (MerkleTreeNode)

Nur Ausgabe. Kryptografischer Nachweis für die Einbeziehung der Transaktionseffekte in die Ausführungsrunde.

Sie wird als Pfad von einem bestimmten Blatt (einem Transaktions-Digest) zum Stamm der Ausführungsrunde angegeben. Der Pfad wird als Liste von Paaren aus linkem und rechtem untergeordneten Element dargestellt. Das erste Paar sind die linken und rechten untergeordneten Elemente des übergeordneten Knotens des angegebenen Blatts. Angenommen, der Merkle-Baum wurde mit acht Blatt-Digests [t0, t1, t2, t3, t4, t5, t6, t7] mit der folgenden Struktur erstellt:

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

pathToRoundRoot für t0 enthält: [(t0, t1), (h10, h11), (h20, h21)].

Man kann nacheinander SHA-256-Digests für jeden Pfadknoten berechnen, um zu prüfen, ob der Digest des Pfads denselben Wert wie roundCertificate.merkle_tree.root_digest_hex ergibt. So wird überprüft, ob das Blatt im Merkle-Baum der Runde enthalten war.

TransactionCertificate

Bescheinigung über die Ausführung einer bestimmten Transaktion in einer Runde.

JSON-Darstellung
{
  "transactionDigestHex": string,
  "roundId": string,
  "transactionEffects": {
    object (TransactionEffects)
  },
  "events": [
    {
      object (TransactionEvent)
    }
  ],
  "transactionEffectsStateChecksumHex": string,
  "certificationResultsDigestHex": string
}
Felder
transactionDigestHex

string

Nur Ausgabe. Die ID der Transaktion, für die dieses Zertifikat gilt.

roundId

string (int64 format)

Nur Ausgabe. Die ID der Ausführungsrunde, in der diese Transaktion ausgeführt wurde.

transactionEffects

object (TransactionEffects)

Nur Ausgabe. Die Auswirkungen der Transaktionsausführung.

events[]

object (TransactionEvent)

Nur Ausgabe. Durch die Transaktion erzeugte Ereignisse.

transactionEffectsStateChecksumHex

string

Nur Ausgabe. Homomorpher Prüfsumme der Effekte. Ein als hexadezimaler String codierter 2.048-Byte-Wert.

certificationResultsDigestHex

string

Nur Ausgabe. Der kryptografische Digest aller vorherigen Felder in der Reihenfolge. Wird zum Erstellen eines Merkle-Baums für den Einschlussnachweis verwendet.

TransactionEffects

Auswirkungen der Ausführung einer Transaktion.

JSON-Darstellung
{
  "status": {
    object (TransactionStatus)
  },
  "effects": [
    {
      object (TransactionEffect)
    }
  ]
}
Felder
status

object (TransactionStatus)

Nur Ausgabe. Der resultierende Status der Transaktionsausführung.

effects[]
(deprecated)

object (TransactionEffect)

Nur Ausgabe. Verworfen: Fragen Sie stattdessen den Netzwerkstatus ab, um Änderungen am Weltstatus zu ermitteln. Die Auswirkungen der Transaktion auf den Weltstatus.

TransactionStatus

Stellt den Status einer Transaktionsausführung dar.

JSON-Darstellung
{
  "code": integer,
  "message": string
}
Felder
code

integer

Nur Ausgabe. Der Statuscode, ein numerischer Wert, dessen Bedeutung durch den entsprechenden gRPC-Statuscode definiert wird.

message

string (bytes format)

Nur Ausgabe. Die Fehlermeldung, falls vorhanden. Wird nur festgelegt, wenn der Code nicht OK ist. Dies ist ein als UTF-8-Byte codierter String. Als Byte gespeichert, um Probleme mit der Deterministik der Codierung zu vermeiden.

Ein base64-codierter String.

TransactionEffect

Stellt eine Aktualisierung des Weltstatus durch eine Transaktion dar.

Wenn es ein deltaVal enthält, wird davon ausgegangen, dass es sich um ein Delta (einen ganzzahligen Offset) handelt, das auf den zuvor gespeicherten Wert für einen bestimmten Schlüssel angewendet wird. In diesem Fall sollten newVal und oldVal leer sein.

Andernfalls wird davon ausgegangen, dass mindestens oldVal oder newVal (oder beides) vorhanden ist. Ein leerer oldVal-Wert gibt an, dass der Wert eingefügt wurde. Ein leerer newVal-Wert gibt an, dass der Wert gelöscht wurde.

JSON-Darstellung
{
  "key": string,
  "oldVal": string,
  "newVal": string,
  "deltaVal": string
}
Felder
key

string (bytes format)

Nur Ausgabe. Der Schlüssel im Weltstatus, der aktualisiert wurde.

Ein base64-codierter String.

oldVal

string (bytes format)

Nur Ausgabe. Der Wert des Schlüssels vor der Ausführung der Transaktion.

Ein base64-codierter String.

newVal

string (bytes format)

Nur Ausgabe. Der Wert des Schlüssels nach Ausführung der Transaktion.

Ein base64-codierter String.

deltaVal

string (int64 format)

Nur Ausgabe. Ein ganzzahliger Offset, der auf den zuvor gespeicherten Wert angewendet wurde.

TransactionEvent

Ein Ereignis, das durch eine Transaktion ausgelöst wird.

JSON-Darstellung
{
  "type": string,
  "attributes": [
    {
      object (EventAttribute)
    }
  ]
}
Felder
type

string

Nur Ausgabe. Art des Ereignisses. Ein besonderes Ereignis vom Typ transaction_output enthält die Ausgaben, die durch die Transaktion generiert wurden, z. B. die Konto-ID eines neu erstellten Kontos.

attributes[]

object (EventAttribute)

Nur Ausgabe. Die Ereignisattribute als beliebige Schlüssel/Wert-Paare.

EventAttribute

Ein einzelnes Attribut als Schlüssel/Wert-Paar.

JSON-Darstellung
{
  "key": string,
  "value": string
}
Felder
key

string

Nur Ausgabe. Der Schlüssel des Attributs.

value

string

Nur Ausgabe. Der Wert des Attributs.

RoundCertificate

Zertifikat für die Ausführung einer Runde durch einen bestimmten Validator.

JSON-Darstellung
{
  "roundId": string,
  "validatorId": string,
  "roundStateChecksumHex": string,
  "roundDeltaChecksumHex": string,
  "merkleTree": {
    object (MerkleTree)
  },
  "validatorSignatures": [
    string
  ],
  "isFinalized": boolean
}
Felder
roundId

string (int64 format)

Nur Ausgabe. Die ID der Runde, für die das Zertifikat gilt.

validatorId

string

Nur Ausgabe. Die für Menschen lesbare Validator-ID. Damit wird der öffentliche Schlüssel gesucht, mit dem die validatorSignatures überprüft wird.

roundStateChecksumHex

string

Nur Ausgabe. Die hexadezimale Darstellung des homomorphen Digests für den Weltstatus nach Anwendung der Auswirkungen dieser Runde.

roundDeltaChecksumHex

string

Nur Ausgabe. Die hexadezimale Darstellung des homomorphen Digests für die aggregierten Transaktionseffekte dieser Runde.

merkleTree

object (MerkleTree)

Nur Ausgabe. Merkle-Baum mit dieser Runde als Stammknoten und Transaktions-Batches (die in der Runde ausgeführt werden) als Blätter.

validatorSignatures[]

string (bytes format)

Optional. Die Signatur des Validators. Die Signatur wird über den Digest der vorherigen Nutzlast dieses Datensatzes erstellt.

Ein base64-codierter String.

isFinalized

boolean

Nur Ausgabe. Boolescher Wert, der angibt, ob die Runde abgeschlossen ist, d.h., ob ein ausreichendes Quorum von Validatoren diese Runde mit demselben Zertifikat zertifiziert hat.

MerkleTree

Ein Merkle-Baum mit einem kryptografischen Digest des Stammknotens.

JSON-Darstellung
{
  "rootHashHex": string,
  "rootDigestHex": string,
  "numTransactions": string
}
Felder
rootHashHex
(deprecated)

string

Nur Ausgabe. Der kryptografische Digest des Root-Knotens. Nicht mehr unterstützt: Verwenden Sie stattdessen rootDigestHex.

rootDigestHex

string

Nur Ausgabe. Die hexadezimale Darstellung des Digests des Stammknotens. Format: Ein 64‑stelliger Hexadezimalstring.

numTransactions

string (int64 format)

Nur Ausgabe. Die Anzahl der Transaktionen im Baum.

MerkleTreeNode

Stellt einen Knoten in einem Merkle-Baumpfad dar.

JSON-Darstellung
{
  "leftChildHashHex": string,
  "rightChildHashHex": string,
  "leftChildDigestHex": string,
  "rightChildDigestHex": string
}
Felder
leftChildHashHex
(deprecated)

string

Nur Ausgabe. Die hexadezimale Darstellung des Digests des linken untergeordneten Elements eines Knotens. Nicht mehr unterstützt: Verwenden Sie stattdessen leftChildDigestHex.

rightChildHashHex
(deprecated)

string

Nur Ausgabe. Die hexadezimale Darstellung des Digests des rechten untergeordneten Elements eines Knotens. Nicht mehr unterstützt: Verwenden Sie stattdessen rightChildDigestHex.

leftChildDigestHex

string

Nur Ausgabe. Die hexadezimale Darstellung des Digests des linken untergeordneten Elements eines Knotens. Format: Ein 64‑stelliger Hexadezimalstring.

rightChildDigestHex

string

Nur Ausgabe. Die hexadezimale Darstellung des Digests des rechten untergeordneten Elements eines Knotens. Format: Ein 64‑stelliger Hexadezimalstring.

StatusEvent

Stellt ein Ereignis bei der Verarbeitung einer Transaktion dar, das von einem einzelnen Validator beobachtet wird.

Alle gemeldeten Werte werden aus der Perspektive des Validators angegeben, der die Anfrage bearbeitet, und können sich von der Ansicht anderer Validatoren unterscheiden.

JSON-Darstellung
{
  "eventTime": string,
  "eventType": enum (EventType),
  "eventDetails": {
    object (EventDetails)
  }
}
Felder
eventTime

string (Timestamp format)

Nur Ausgabe. Die Zeit, zu der das Ereignis von diesem Validator aufgezeichnet wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

eventType

enum (EventType)

Nur Ausgabe. Der Typ des Ereignisses.

eventDetails

object (EventDetails)

Nur Ausgabe. Zusätzliche Details zum Ereignis.

EventType

Stellt den Typ eines Ereignisses bei der Verarbeitung einer Transaktion dar, wie er vom Validator beobachtet wird, an den die Anfrage weitergeleitet wurde.

Enums
EVENT_TYPE_UNSPECIFIED Unbekanntes oder nicht angegebenes Ereignis.
EVENT_TYPE_RECEIVED Die Transaktion wurde von diesem Validator direkt von einem Client empfangen.
EVENT_TYPE_BROADCASTED Die Transaktion wurde von diesem an andere Validierer übertragen.
EVENT_TYPE_ORDERED Die Transaktion wurde von diesem Validator angeordnet und zur Ausführung geplant.
EVENT_TYPE_EXECUTION_STARTED Die Ausführung der Transaktion hat begonnen.
EVENT_TYPE_EXECUTION_COMPLETED Die Ausführung der Transaktion wurde abgeschlossen.
EVENT_TYPE_FINALIZED Die Transaktion wurde von diesem Validator abgeschlossen.

EventDetails

Stellt zusätzliche Details eines Statusereignisses dar.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld event_details. Details zum Ereignis. Für event_details ist nur einer der folgenden Werte zulässig:
executionDetails

object (ExecutionDetails)

Nur Ausgabe. Zusätzliche Details zu einem Ausführungsereignis.

ExecutionDetails

Zusätzliche Details zu einem Ausführungsereignis.

JSON-Darstellung
{
  "roundId": string
}
Felder
roundId

string (int64 format)

Nur Ausgabe. Die ID der Runde, in der das Ausführungsereignis aufgetreten ist.