Class BlockInfo
- Namespace
- Concordium.Sdk.Types
- Assembly
- Concordium.Sdk.dll
Metadata about a given block.
public sealed record BlockInfo : IEquatable<BlockInfo>
- Inheritance
-
BlockInfo
- Implements
- Inherited Members
Constructors
BlockInfo(BlockHash, BlockHash, BlockHash, ulong, uint, ulong, DateTimeOffset, DateTimeOffset, ulong?, DateTimeOffset, BakerId?, bool, uint, EnergyAmount, uint, StateHash, ProtocolVersion, Round?, Epoch?)
Metadata about a given block.
public BlockInfo(BlockHash BlockHash, BlockHash BlockParent, BlockHash BlockLastFinalized, ulong BlockHeight, uint GenesisIndex, ulong EraBlockHeight, DateTimeOffset BlockReceiveTime, DateTimeOffset BlockArriveTime, ulong? BlockSlot, DateTimeOffset BlockSlotTime, BakerId? BlockBaker, bool Finalized, uint TransactionCount, EnergyAmount TransactionEnergyCost, uint TransactionSize, StateHash BlockStateHash, ProtocolVersion ProtocolVersion, Round? Round, Epoch? Epoch)
Parameters
BlockHash
BlockHashHash of the block.
BlockParent
BlockHashParent block pointer.
BlockLastFinalized
BlockHashPointer to the last finalized block. Each block has a pointer to a specific finalized block that existed at the time the block was produced.
BlockHeight
ulongHeight of the block from genesis.
GenesisIndex
uintThe genesis index for this block. This counts the number of protocol updates that have preceded this block, and defines the era of the block.
EraBlockHeight
ulongThe height of this block relative to the (re)genesis block of its era.
BlockReceiveTime
DateTimeOffsetTime when the block was first received by the node. This can be in principle quite different from the arrive time if, e.g., block execution takes a long time, or the block must wait for the arrival of its parent.
BlockArriveTime
DateTimeOffsetTime when the block was added to the node's tree. This is a subjective (i.e., node specific) value.
BlockSlot
ulong?Slot number of the slot the block is in. Present in protocol versions 1-5.
BlockSlotTime
DateTimeOffsetSlot time of the slot the block is in. In contrast to BlockArriveTime this is an objective value, all nodes agree on it.
BlockBaker
BakerId?Identity of the baker of the block. For non-genesis blocks the value is going to always be not null;
Finalized
boolWhether the block is finalized or not.
TransactionCount
uintThe number of transactions in the block.
TransactionEnergyCost
EnergyAmountThe total energy consumption of transactions in the block.
TransactionSize
uintSize of all the transactions in the block in bytes.
BlockStateHash
StateHashHash of the block state at the end of the given block.
ProtocolVersion
ProtocolVersionProtocol version to which the block belongs.
Round
Round?The round of the block. Present from protocol version 6.
Epoch
Epoch?The epoch of the block. Present from protocol version 6.
Properties
BlockArriveTime
Time when the block was added to the node's tree. This is a subjective (i.e., node specific) value.
public DateTimeOffset BlockArriveTime { get; init; }
Property Value
BlockBaker
Identity of the baker of the block. For non-genesis blocks the value is going to always be not null;
public BakerId? BlockBaker { get; init; }
Property Value
BlockHash
Hash of the block.
public BlockHash BlockHash { get; init; }
Property Value
BlockHeight
Height of the block from genesis.
public ulong BlockHeight { get; init; }
Property Value
BlockLastFinalized
Pointer to the last finalized block. Each block has a pointer to a specific finalized block that existed at the time the block was produced.
public BlockHash BlockLastFinalized { get; init; }
Property Value
BlockParent
Parent block pointer.
public BlockHash BlockParent { get; init; }
Property Value
BlockReceiveTime
Time when the block was first received by the node. This can be in principle quite different from the arrive time if, e.g., block execution takes a long time, or the block must wait for the arrival of its parent.
public DateTimeOffset BlockReceiveTime { get; init; }
Property Value
BlockSlot
Slot number of the slot the block is in. Present in protocol versions 1-5.
public ulong? BlockSlot { get; init; }
Property Value
BlockSlotTime
Slot time of the slot the block is in. In contrast to BlockArriveTime this is an objective value, all nodes agree on it.
public DateTimeOffset BlockSlotTime { get; init; }
Property Value
BlockStateHash
Hash of the block state at the end of the given block.
public StateHash BlockStateHash { get; init; }
Property Value
Epoch
The epoch of the block. Present from protocol version 6.
public Epoch? Epoch { get; init; }
Property Value
EraBlockHeight
The height of this block relative to the (re)genesis block of its era.
public ulong EraBlockHeight { get; init; }
Property Value
Finalized
Whether the block is finalized or not.
public bool Finalized { get; init; }
Property Value
GenesisIndex
The genesis index for this block. This counts the number of protocol updates that have preceded this block, and defines the era of the block.
public uint GenesisIndex { get; init; }
Property Value
ProtocolVersion
Protocol version to which the block belongs.
public ProtocolVersion ProtocolVersion { get; init; }
Property Value
Round
The round of the block. Present from protocol version 6.
public Round? Round { get; init; }
Property Value
TransactionCount
The number of transactions in the block.
public uint TransactionCount { get; init; }
Property Value
TransactionEnergyCost
The total energy consumption of transactions in the block.
public EnergyAmount TransactionEnergyCost { get; init; }
Property Value
TransactionSize
Size of all the transactions in the block in bytes.
public uint TransactionSize { get; init; }