Class ConsensusInfo
- Namespace
- Concordium.Sdk.Types
- Assembly
- Concordium.Sdk.dll
Summary of the current state of consensus.
public sealed record ConsensusInfo : IEquatable<ConsensusInfo>
- Inheritance
-
ConsensusInfo
- Implements
- Inherited Members
Constructors
ConsensusInfo(BlockHash, BlockHash, DateTimeOffset, BlockHash, ulong, ulong, ProtocolVersion, BlockHash, DateTimeOffset, TimeSpan?, TimeSpan, uint, uint, DateTimeOffset?, double, double, double?, double?, uint, DateTimeOffset?, double, double, double?, double?, double, double, ulong, DateTimeOffset?, double?, double?, ConcordiumBftDetails?)
Summary of the current state of consensus.
public ConsensusInfo(BlockHash BestBlock, BlockHash GenesisBlock, DateTimeOffset GenesisTime, BlockHash LastFinalizedBlock, ulong BestBlockHeight, ulong LastFinalizedBlockHeight, ProtocolVersion ProtocolVersion, BlockHash CurrentEraGenesisBlock, DateTimeOffset CurrentEraGenesisTime, TimeSpan? SlotDuration, TimeSpan EpochDuration, uint GenesisIndex, uint BlocksReceivedCount, DateTimeOffset? BlockLastReceivedTime, double BlockReceiveLatencyEma, double BlockReceiveLatencyEmsd, double? BlockReceivePeriodEma, double? BlockReceivePeriodEmsd, uint BlocksVerifiedCount, DateTimeOffset? BlockLastArrivedTime, double BlockArriveLatencyEma, double BlockArriveLatencyEmsd, double? BlockArrivePeriodEma, double? BlockArrivePeriodEmsd, double TransactionsPerBlockEma, double TransactionsPerBlockEmsd, ulong FinalizationCount, DateTimeOffset? LastFinalizedTime, double? FinalizationPeriodEma, double? FinalizationPeriodEmsd, ConcordiumBftDetails? ConcordiumBftDetails)
Parameters
BestBlock
BlockHashHash of the current best block. The best block is a protocol defined block that the node must use as parent block to build the chain on. Note that this is subjective, in the sense that it is only the best block among the blocks the node knows about.
GenesisBlock
BlockHashHash of the genesis block.
GenesisTime
DateTimeOffsetSlot time of the genesis block.
LastFinalizedBlock
BlockHashHash of the last, i.e., most recent, finalized block.
BestBlockHeight
ulongHeight of the best block. See BestBlock.
LastFinalizedBlockHeight
ulongHeight of the last finalized block. Genesis block has height 0.
ProtocolVersion
ProtocolVersionCurrently active protocol version.
CurrentEraGenesisBlock
BlockHashBlock hash of the genesis block of current era, i.e., since the last protocol update. Initially this is equal to GenesisBlock.
CurrentEraGenesisTime
DateTimeOffsetTime when the current era started.
SlotDuration
TimeSpan?Duration of a slot. Present only in protocol versions 1-5.
EpochDuration
TimeSpanDuration of an epoch.
GenesisIndex
uintThe number of chain restarts via a protocol update. An effected protocol update instruction might not change the protocol version specified in ProtocolVersion, but it always increments the genesis index.
BlocksReceivedCount
uintThe number of blocks that have been received.
BlockLastReceivedTime
DateTimeOffset?The time (local time of the node) that a block was last received.
BlockReceiveLatencyEma
doubleExponential moving average of block receive latency (in seconds), i.e. the time between a block's nominal slot time, and the time at which is received.
BlockReceiveLatencyEmsd
doubleExponential moving average standard deviation of block receive latency (in seconds), i.e. the time between a block's nominal slot time, and the time at which is received.
BlockReceivePeriodEma
double?Exponential moving average of the time between receiving blocks (in seconds).
BlockReceivePeriodEmsd
double?Exponential moving average standard deviation of the time between receiving blocks (in seconds).
BlocksVerifiedCount
uintNumber of blocks that arrived, i.e., were added to the tree. Note that in some cases this can be more than BlocksReceivedCount since blocks that the node itself produces count towards this, but are not received.
BlockLastArrivedTime
DateTimeOffset?The time (local time of the node) that a block last arrived, i.e., was verified and added to the node's tree.
BlockArriveLatencyEma
doubleThe exponential moving average of the time between a block's nominal slot time, and the time at which it is verified.
BlockArriveLatencyEmsd
doubleThe exponential moving average standard deviation of the time between a block's nominal slot time, and the time at which it is verified.
BlockArrivePeriodEma
double?Exponential moving average of the time between receiving blocks (in seconds).
BlockArrivePeriodEmsd
double?Exponential moving average standard deviation of the time between blocks being verified.
TransactionsPerBlockEma
doubleExponential moving average of the number of transactions per block.
TransactionsPerBlockEmsd
doubleExponential moving average standard deviation of the number of transactions per block.
FinalizationCount
ulongThe number of completed finalizations.
LastFinalizedTime
DateTimeOffset?Time at which a block last became finalized. Note that this is the local time of the node at the time the block was finalized.
FinalizationPeriodEma
double?Exponential moving average of the time between finalizations. Will be null if there are no finalizations yet since the node start.
FinalizationPeriodEmsd
double?Exponential moving average standard deviation of the time between finalizations. Will be
None
if there are no finalizations yet since the node start.ConcordiumBftDetails
ConcordiumBftDetailsParameters that apply from protocol 6 onward. This is present if and only if the protocol version is P6 or later.
Properties
BestBlock
Hash of the current best block. The best block is a protocol defined block that the node must use as parent block to build the chain on. Note that this is subjective, in the sense that it is only the best block among the blocks the node knows about.
public BlockHash BestBlock { get; init; }
Property Value
BestBlockHeight
Height of the best block. See BestBlock.
public ulong BestBlockHeight { get; init; }
Property Value
BlockArriveLatencyEma
The exponential moving average of the time between a block's nominal slot time, and the time at which it is verified.
public double BlockArriveLatencyEma { get; init; }
Property Value
BlockArriveLatencyEmsd
The exponential moving average standard deviation of the time between a block's nominal slot time, and the time at which it is verified.
public double BlockArriveLatencyEmsd { get; init; }
Property Value
BlockArrivePeriodEma
Exponential moving average of the time between receiving blocks (in seconds).
public double? BlockArrivePeriodEma { get; init; }
Property Value
BlockArrivePeriodEmsd
Exponential moving average standard deviation of the time between blocks being verified.
public double? BlockArrivePeriodEmsd { get; init; }
Property Value
BlockLastArrivedTime
The time (local time of the node) that a block last arrived, i.e., was verified and added to the node's tree.
public DateTimeOffset? BlockLastArrivedTime { get; init; }
Property Value
BlockLastReceivedTime
The time (local time of the node) that a block was last received.
public DateTimeOffset? BlockLastReceivedTime { get; init; }
Property Value
BlockReceiveLatencyEma
Exponential moving average of block receive latency (in seconds), i.e. the time between a block's nominal slot time, and the time at which is received.
public double BlockReceiveLatencyEma { get; init; }
Property Value
BlockReceiveLatencyEmsd
Exponential moving average standard deviation of block receive latency (in seconds), i.e. the time between a block's nominal slot time, and the time at which is received.
public double BlockReceiveLatencyEmsd { get; init; }
Property Value
BlockReceivePeriodEma
Exponential moving average of the time between receiving blocks (in seconds).
public double? BlockReceivePeriodEma { get; init; }
Property Value
BlockReceivePeriodEmsd
Exponential moving average standard deviation of the time between receiving blocks (in seconds).
public double? BlockReceivePeriodEmsd { get; init; }
Property Value
BlocksReceivedCount
The number of blocks that have been received.
public uint BlocksReceivedCount { get; init; }
Property Value
BlocksVerifiedCount
Number of blocks that arrived, i.e., were added to the tree. Note that in some cases this can be more than BlocksReceivedCount since blocks that the node itself produces count towards this, but are not received.
public uint BlocksVerifiedCount { get; init; }
Property Value
ConcordiumBftDetails
Parameters that apply from protocol 6 onward. This is present if and only if the protocol version is P6 or later.
public ConcordiumBftDetails? ConcordiumBftDetails { get; init; }
Property Value
CurrentEraGenesisBlock
Block hash of the genesis block of current era, i.e., since the last protocol update. Initially this is equal to GenesisBlock.
public BlockHash CurrentEraGenesisBlock { get; init; }
Property Value
CurrentEraGenesisTime
Time when the current era started.
public DateTimeOffset CurrentEraGenesisTime { get; init; }
Property Value
EpochDuration
Duration of an epoch.
public TimeSpan EpochDuration { get; init; }
Property Value
FinalizationCount
The number of completed finalizations.
public ulong FinalizationCount { get; init; }
Property Value
FinalizationPeriodEma
Exponential moving average of the time between finalizations. Will be null if there are no finalizations yet since the node start.
public double? FinalizationPeriodEma { get; init; }
Property Value
FinalizationPeriodEmsd
Exponential moving average standard deviation of the time between
finalizations. Will be None
if there are no finalizations yet
since the node start.
public double? FinalizationPeriodEmsd { get; init; }
Property Value
GenesisBlock
Hash of the genesis block.
public BlockHash GenesisBlock { get; init; }
Property Value
GenesisIndex
The number of chain restarts via a protocol update. An effected protocol update instruction might not change the protocol version specified in ProtocolVersion, but it always increments the genesis index.
public uint GenesisIndex { get; init; }
Property Value
GenesisTime
Slot time of the genesis block.
public DateTimeOffset GenesisTime { get; init; }
Property Value
LastFinalizedBlock
Hash of the last, i.e., most recent, finalized block.
public BlockHash LastFinalizedBlock { get; init; }
Property Value
LastFinalizedBlockHeight
Height of the last finalized block. Genesis block has height 0.
public ulong LastFinalizedBlockHeight { get; init; }
Property Value
LastFinalizedTime
Time at which a block last became finalized. Note that this is the local time of the node at the time the block was finalized.
public DateTimeOffset? LastFinalizedTime { get; init; }
Property Value
ProtocolVersion
Currently active protocol version.
public ProtocolVersion ProtocolVersion { get; init; }
Property Value
SlotDuration
Duration of a slot. Present only in protocol versions 1-5.
public TimeSpan? SlotDuration { get; init; }
Property Value
TransactionsPerBlockEma
Exponential moving average of the number of transactions per block.
public double TransactionsPerBlockEma { get; init; }
Property Value
TransactionsPerBlockEmsd
Exponential moving average standard deviation of the number of transactions per block.
public double TransactionsPerBlockEmsd { get; init; }