Skip to main content

Checkpoint

Checkpoints contain finalized transactions and are used for node synchronization and global transaction ordering.

type Checkpoint {
digest: String!
sequenceNumber: UInt53!
timestamp: DateTime!
validatorSignatures: Base64!
previousCheckpointDigest: String
networkTotalTransactions: UInt53
rollingGasSummary: GasCostSummary
epoch: Epoch
transactionBlocks(
first: Int
after: String
last: Int
before: String
filter: TransactionBlockFilter
): TransactionBlockConnection!
}

Fields

Checkpoint.digest ● String! non-null scalar

A 32-byte hash that uniquely identifies the checkpoint contents, encoded in Base58. This hash can be used to verify checkpoint contents by checking signatures against the committee, Hashing contents to match digest, and checking that the previous checkpoint digest matches.

Checkpoint.sequenceNumber ● UInt53! non-null scalar

This checkpoint's position in the total order of finalized checkpoints, agreed upon by consensus.

Checkpoint.timestamp ● DateTime! non-null scalar

The timestamp at which the checkpoint is agreed to have happened according to consensus. Transactions that access time in this checkpoint will observe this timestamp.

Checkpoint.validatorSignatures ● Base64! non-null scalar

This is an aggregation of signatures from a quorum of validators for the checkpoint proposal.

Checkpoint.previousCheckpointDigest ● String scalar

The digest of the checkpoint at the previous sequence number.

Checkpoint.networkTotalTransactions ● UInt53 scalar

The total number of transaction blocks in the network by the end of this checkpoint.

Checkpoint.rollingGasSummary ● GasCostSummary object

The computation cost, storage cost, storage rebate, and non-refundable storage fee accumulated during this epoch, up to and including this checkpoint. These values increase monotonically across checkpoints in the same epoch, and reset on epoch boundaries.

Checkpoint.epoch ● Epoch object

The epoch this checkpoint is part of.

Checkpoint.transactionBlocks ● TransactionBlockConnection! non-null object

Transactions in this checkpoint.

Checkpoint.transactionBlocks.first ● Int scalar
Checkpoint.transactionBlocks.after ● String scalar
Checkpoint.transactionBlocks.last ● Int scalar
Checkpoint.transactionBlocks.before ● String scalar
Checkpoint.transactionBlocks.filter ● TransactionBlockFilter input

Returned By

checkpoint query

Member Of

AvailableRange object ● CheckpointConnection object ● CheckpointEdge object ● TransactionBlockEffects object