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: UInt!
referenceGasPrice: BigInt
validatorSet: ValidatorSet
startTimestamp: DateTime!
endTimestamp: DateTime
totalCheckpoints: UInt
totalTransactions: UInt
totalGasFees: BigInt
totalStakeRewards: BigInt
totalStakeSubsidies: BigInt
fundSize: BigInt
netInflow: BigInt
fundInflow: BigInt
fundOutflow: BigInt
protocolConfigs: ProtocolConfigs!
storageFund: StorageFund
safeMode: SafeMode
systemStateVersion: UInt
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
● UInt!
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
● UInt
scalar
The total number of checkpoints in this epoch.
Epoch.totalTransactions
● UInt
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
● UInt
scalar
The value of the
version
field of0x5
, the0x3::sui::SuiSystemState
object. 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
●Int
scalar
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
●Int
scalar
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