TransactionAttempt

Lo stato di un tentativo di invio di transazione.

Rappresentazione JSON
{
  "status": enum (TransactionStatus),
  "proofOfInclusion": {
    object (ProofOfInclusion)
  },
  "statusEvents": [
    {
      object (StatusEvent)
    }
  ]
}
Campi
status

enum (TransactionStatus)

Solo output. Lo stato attuale del tentativo di transazione.

proofOfInclusion

object (ProofOfInclusion)

Solo output. Certificato dell'inclusione degli effetti della transazione nello stato del mondo. Fornito solo se lo stato è FINALIZED.

statusEvents[]

object (StatusEvent)

Solo output. Gli eventi di stato ordinati registrati per il tentativo di transazione.

TransactionStatus

Lo stato del tentativo di transazione.

Enum
TRANSACTION_STATUS_UNSPECIFIED Stato sconosciuto o non inizializzato.
PENDING La transazione è nota a questo validatore, ma non è ancora stata finalizzata.
FINALIZED La transazione è stata finalizzata. I suoi effetti sono stati mantenuti sulla blockchain e non possono essere annullati.

ProofOfInclusion

Certificato dell'inclusione degli effetti di una transazione nello stato mondiale.

Rappresentazione JSON
{
  "transactionCertificate": {
    object (TransactionCertificate)
  },
  "roundCertificate": {
    object (RoundCertificate)
  },
  "pathToRoundRoot": [
    {
      object (MerkleTreeNode)
    }
  ]
}
Campi
transactionCertificate

object (TransactionCertificate)

Solo output. Certificato dell'inclusione degli effetti della transazione in un round specifico.

roundCertificate

object (RoundCertificate)

Solo output. Certificato di esecuzione del round.

pathToRoundRoot[]

object (MerkleTreeNode)

Solo output. Prova crittografica dell'inclusione degli effetti della transazione nel round di esecuzione.

Viene fornito come percorso da una determinata foglia (un digest della transazione) alla radice del round di esecuzione. Il percorso è rappresentato come un elenco di coppie (figlio sinistro, figlio destro) e la prima coppia è costituita dai figli sinistro e destro del nodo padre della foglia specificata. Ad esempio, supponendo che l'albero Merkle sia stato creato con otto hash foglia [t0, t1, t2, t3, t4, t5, t6, t7], con la seguente struttura:

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

Qui, pathToRoundRoot per t0 conterrà: [(t0, t1), (h10, h11), (h20, h21)].

È possibile calcolare consecutivamente i digest SHA-256 di ogni nodo del percorso per verificare che il digest del percorso produca lo stesso valore di roundCertificate.merkle_tree.root_digest_hex. Pertanto, verifica che la foglia sia stata inclusa nell'albero Merkle del round.

TransactionCertificate

Certificato dell'esecuzione di una transazione specifica in un round.

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

string

Solo output. L'ID della transazione a cui si riferisce questo certificato.

roundId

string (int64 format)

Solo output. L'ID del round di esecuzione in cui è stata eseguita questa transazione.

transactionEffects

object (TransactionEffects)

Solo output. Gli effetti dell'esecuzione della transazione.

events[]

object (TransactionEvent)

Solo output. Eventi generati dalla transazione.

transactionEffectsStateChecksumHex

string

Solo output. Checksum omomorfico degli effetti. Un valore di 2048 byte codificato come stringa esadecimale.

certificationResultsDigestHex

string

Solo output. Il digest crittografico di tutti i campi precedenti in sequenza. Utilizzato per creare un albero Merkle per la prova di inclusione.

TransactionEffects

Effetti dell'esecuzione di una transazione.

Rappresentazione JSON
{
  "status": {
    object (TransactionStatus)
  },
  "effects": [
    {
      object (TransactionEffect)
    }
  ]
}
Campi
status

object (TransactionStatus)

Solo output. Lo stato risultante dell'esecuzione della transazione.

effects[]
(deprecated)

object (TransactionEffect)

Solo output. Obsoleto: esegui una query sullo stato della rete per determinare eventuali modifiche allo stato del mondo. Gli effetti della transazione nello stato del mondo.

TransactionStatus

Rappresenta lo stato di esecuzione di una transazione.

Rappresentazione JSON
{
  "code": integer,
  "message": string
}
Campi
code

integer

Solo output. Il codice di stato, un valore numerico il cui significato è definito dal codice di stato gRPC corrispondente.

message

string (bytes format)

Solo output. Il messaggio di errore, se presente. Imposta solo se il codice non è OK. Si tratta di una stringa codificata come byte UTF-8. Memorizzati come byte per evitare problemi di determinismo della codifica.

Una stringa con codifica in base64.

TransactionEffect

Rappresenta un aggiornamento di alcune transazioni allo stato globale.

Se ha un deltaVal, si presume che sia un delta (un offset intero) applicato al valore memorizzato in precedenza per una determinata chiave. In questo caso, newVal e oldVal devono essere vuoti.

In caso contrario, si presume che abbia almeno uno tra oldVal e newVal (o entrambi). Un oldVal vuoto indica che il valore è stato inserito. Un newVal vuoto indica che il valore è stato eliminato.

Rappresentazione JSON
{
  "key": string,
  "oldVal": string,
  "newVal": string,
  "deltaVal": string
}
Campi
key

string (bytes format)

Solo output. La chiave nello stato del mondo che è stata aggiornata.

Una stringa con codifica in base64.

oldVal

string (bytes format)

Solo output. Il valore della chiave prima dell'esecuzione della transazione.

Una stringa con codifica in base64.

newVal

string (bytes format)

Solo output. Il valore della chiave dopo l'esecuzione della transazione.

Una stringa con codifica in base64.

deltaVal

string (int64 format)

Solo output. Un offset intero applicato al valore memorizzato in precedenza.

TransactionEvent

Un evento prodotto da una transazione.

Rappresentazione JSON
{
  "type": string,
  "attributes": [
    {
      object (EventAttribute)
    }
  ]
}
Campi
type

string

Solo output. Il tipo di evento. Un evento speciale di tipo transaction_output contiene gli output prodotti dalla transazione, ad esempio l'ID account di un account appena creato.

attributes[]

object (EventAttribute)

Solo output. Gli attributi dell'evento come coppie chiave-valore arbitrarie.

EventAttribute

Un attributo individuale come coppia chiave-valore.

Rappresentazione JSON
{
  "key": string,
  "value": string
}
Campi
key

string

Solo output. La chiave dell'attributo.

value

string

Solo output. Il valore dell'attributo.

RoundCertificate

Certificato dell'esecuzione di un round da parte di un validatore specifico.

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

string (int64 format)

Solo output. L'ID del round a cui si riferisce il certificato.

validatorId

string

Solo output. L'identificatore dello strumento di convalida leggibile. Viene utilizzato per cercare la chiave pubblica rispetto alla quale viene verificato il validatorSignatures.

roundStateChecksumHex

string

Solo output. La rappresentazione esadecimale del digest omomorfico sullo stato del mondo dopo l'applicazione degli effetti di questo round.

roundDeltaChecksumHex

string

Solo output. La rappresentazione esadecimale del digest omomorfico sugli effetti aggregati delle transazioni di questo round.

merkleTree

object (MerkleTree)

Solo output. Albero Merkle con questo round come nodo radice e batch di transazioni (eseguiti nel round) come foglie.

validatorSignatures[]

string (bytes format)

Facoltativo. La firma del validatore. Questa firma viene applicata all'hash del payload precedente di questo record.

Una stringa con codifica in base64.

isFinalized

boolean

Solo output. Valore booleano che indica se il round è finalizzato, ovvero se un quorum sufficiente di validatori ha certificato questo round con lo stesso certificato.

MerkleTree

Un albero Merkle con un digest crittografico del nodo radice.

Rappresentazione JSON
{
  "rootHashHex": string,
  "rootDigestHex": string,
  "numTransactions": string
}
Campi
rootHashHex
(deprecated)

string

Solo output. Il digest crittografico del nodo principale. Deprecato: utilizza rootDigestHex.

rootDigestHex

string

Solo output. La rappresentazione esadecimale del digest del nodo radice. Formato: una stringa esadecimale di 64 caratteri.

numTransactions

string (int64 format)

Solo output. Il numero di transazioni nell'albero.

MerkleTreeNode

Rappresenta un nodo in un percorso dell'albero Merkle.

Rappresentazione JSON
{
  "leftChildHashHex": string,
  "rightChildHashHex": string,
  "leftChildDigestHex": string,
  "rightChildDigestHex": string
}
Campi
leftChildHashHex
(deprecated)

string

Solo output. La rappresentazione esadecimale del digest del nodo secondario sinistro di un nodo. Deprecato: utilizza leftChildDigestHex.

rightChildHashHex
(deprecated)

string

Solo output. La rappresentazione esadecimale del digest del figlio destro di un nodo. Deprecato: utilizza rightChildDigestHex.

leftChildDigestHex

string

Solo output. La rappresentazione esadecimale del digest del nodo secondario sinistro di un nodo. Formato: una stringa esadecimale di 64 caratteri.

rightChildDigestHex

string

Solo output. La rappresentazione esadecimale del digest del figlio destro di un nodo. Formato: una stringa esadecimale di 64 caratteri.

StatusEvent

Rappresenta un evento nell'elaborazione di una transazione osservato da un singolo validatore.

Tutti i valori riportati sono dal punto di vista del validatore che gestisce la richiesta e potrebbero differire dalla visualizzazione di altri validatori.

Rappresentazione JSON
{
  "eventTime": string,
  "eventType": enum (EventType),
  "eventDetails": {
    object (EventDetails)
  }
}
Campi
eventTime

string (Timestamp format)

Solo output. L'ora in cui l'evento è stato registrato da questo validatore.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

eventType

enum (EventType)

Solo output. Il tipo di evento.

eventDetails

object (EventDetails)

Solo output. Ulteriori dettagli associati all'evento.

EventType

Rappresenta il tipo di evento nell'elaborazione di una transazione, come osservato dallo strumento di convalida a cui è stata indirizzata la richiesta.

Enum
EVENT_TYPE_UNSPECIFIED Evento sconosciuto o non specificato.
EVENT_TYPE_RECEIVED La transazione è stata ricevuta da questo validatore direttamente da un client.
EVENT_TYPE_BROADCASTED La transazione è stata trasmessa da questo ad altri validatori.
EVENT_TYPE_ORDERED La transazione è stata ordinata e pianificata per l'esecuzione da questo validatore.
EVENT_TYPE_EXECUTION_STARTED L'esecuzione della transazione è iniziata.
EVENT_TYPE_EXECUTION_COMPLETED L'esecuzione della transazione è stata completata.
EVENT_TYPE_FINALIZED La transazione è stata finalizzata da questo validatore.

EventDetails

Rappresenta i dettagli aggiuntivi di un evento di stato.

Rappresentazione 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.
}
Campi
Campo unione event_details. I dettagli dell'evento. event_details può essere solo uno dei seguenti tipi:
executionDetails

object (ExecutionDetails)

Solo output. Dettagli aggiuntivi per un evento di esecuzione.

ExecutionDetails

Dettagli aggiuntivi per un evento di esecuzione.

Rappresentazione JSON
{
  "roundId": string
}
Campi
roundId

string (int64 format)

Solo output. L'ID round in cui si è verificato l'evento di esecuzione.