Epoch
Operation of the Sui network is temporally partitioned into non-overlapping epochs, and the network aims to keep epochs roughly the same duration as each other. During a particular epoch the following data is fixed:
- the protocol version
- the reference gas price
- the set of participating validators
type Epoch {
epochId: Int!
referenceGasPrice: BigInt
validatorSet: ValidatorSet
startTimestamp: DateTime!
endTimestamp: DateTime
totalCheckpoints: BigInt
totalTransactions: Int
totalGasFees: BigInt
totalStakeRewards: BigInt
totalStakeSubsidies: BigInt
fundSize: BigInt
netInflow: BigInt
fundInflow: BigInt
fundOutflow: BigInt
protocolConfigs: ProtocolConfigs!
storageFund: StorageFund
safeMode: SafeMode
systemStateVersion: Int
systemParameters: SystemParameters
systemStakeSubsidy: StakeSubsidy
liveObjectSetDigest: String
checkpoints(
first: Int
after: String
last: Int
before: String
): CheckpointConnection!
transactionBlocks(
first: Int
after: String
last: Int
before: String
filter: TransactionBlockFilter
): TransactionBlockConnection!
}
Fields
Epoch.epochId ● Int! non-null scalar
The epoch's id as a sequence number that starts at 0 and is incremented by one at every epoch change.
Epoch.referenceGasPrice ● BigInt scalar
The minimum gas price that a quorum of validators are guaranteed to sign a transaction for.
Epoch.validatorSet ● ValidatorSet object
Validator related properties, including the active validators.
Epoch.startTimestamp ● DateTime! non-null scalar
The epoch's starting timestamp.
Epoch.endTimestamp ● DateTime scalar
The epoch's ending timestamp.
Epoch.totalCheckpoints ● BigInt scalar
The total number of checkpoints in this epoch.
Epoch.totalTransactions ● Int scalar
The total number of transaction blocks in this epoch.
Epoch.totalGasFees ● BigInt scalar
The total amount of gas fees (in MIST) that were paid in this epoch.
Epoch.totalStakeRewards ● BigInt scalar
The total MIST rewarded as stake.
Epoch.totalStakeSubsidies ● BigInt scalar
The amount added to total gas fees to make up the total stake rewards.
Epoch.fundSize ● BigInt scalar
The storage fund available in this epoch. This fund is used to redistribute storage fees from past transactions to future validators.
Epoch.netInflow ● BigInt scalar
The difference between the fund inflow and outflow, representing the net amount of storage fees accumulated in this epoch.
Epoch.fundInflow ● BigInt scalar
The storage fees paid for transactions executed during the epoch.
Epoch.fundOutflow ● BigInt scalar
The storage fee rebates paid to users who deleted the data associated with past transactions.
Epoch.protocolConfigs ● ProtocolConfigs! non-null object
The epoch's corresponding protocol configuration, including the feature flags and the configuration options.
Epoch.storageFund ● StorageFund object
SUI set aside to account for objects stored on-chain, at the start of the epoch. This is also used for storage rebates.
Epoch.safeMode ● SafeMode object
Information about whether this epoch was started in safe mode, which happens if the full epoch change logic fails for some reason.
Epoch.systemStateVersion ● Int scalar
The value of the
versionfield of0x5, the0x3::sui::SuiSystemStateobject. This version changes whenever the fields contained in the system state object (held in a dynamic field attached to0x5) change.
Epoch.systemParameters ● SystemParameters object
Details of the system that are decided during genesis.
Epoch.systemStakeSubsidy ● StakeSubsidy object
Parameters related to the subsidy that supplements staking rewards
Epoch.liveObjectSetDigest ● String scalar
A commitment by the committee at the end of epoch on the contents of the live object set at that time. This can be used to verify state snapshots.
Epoch.checkpoints ● CheckpointConnection! non-null object
The epoch's corresponding checkpoints.
Epoch.checkpoints.first●Intscalar
Epoch.checkpoints.after ● String scalar
Epoch.checkpoints.last ● Int scalar
Epoch.checkpoints.before ● String scalar
Epoch.transactionBlocks ● TransactionBlockConnection! non-null object
The epoch's corresponding transaction blocks.
Epoch.transactionBlocks.first●Intscalar
Epoch.transactionBlocks.after ● String scalar
Epoch.transactionBlocks.last ● Int scalar
Epoch.transactionBlocks.before ● String scalar
Epoch.transactionBlocks.filter ● TransactionBlockFilter input
Returned by
epoch query
Member Of
ActiveJwk object ● AuthenticatorStateExpireTransaction object ● AuthenticatorStateUpdateTransaction object ● ChangeEpochTransaction object ● Checkpoint object ● ConsensusCommitPrologueTransaction object ● RandomnessStateUpdateTransaction object ● StakedSui object ● TransactionBlock object ● TransactionBlockEffects object