Table of Contents

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 BlockHash

Hash of the block.

BlockParent BlockHash

Parent block pointer.

BlockLastFinalized BlockHash

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.

BlockHeight ulong

Height of the block from genesis.

GenesisIndex uint

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.

EraBlockHeight ulong

The height of this block relative to the (re)genesis block of its era.

BlockReceiveTime DateTimeOffset

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.

BlockArriveTime DateTimeOffset

Time 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 DateTimeOffset

Slot 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 bool

Whether the block is finalized or not.

TransactionCount uint

The number of transactions in the block.

TransactionEnergyCost EnergyAmount

The total energy consumption of transactions in the block.

TransactionSize uint

Size of all the transactions in the block in bytes.

BlockStateHash StateHash

Hash of the block state at the end of the given block.

ProtocolVersion ProtocolVersion

Protocol 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

DateTimeOffset

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

BakerId?

BlockHash

Hash of the block.

public BlockHash BlockHash { get; init; }

Property Value

BlockHash

BlockHeight

Height of the block from genesis.

public ulong BlockHeight { get; init; }

Property Value

ulong

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

BlockHash

BlockParent

Parent block pointer.

public BlockHash BlockParent { get; init; }

Property Value

BlockHash

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

DateTimeOffset

BlockSlot

Slot number of the slot the block is in. Present in protocol versions 1-5.

public ulong? BlockSlot { get; init; }

Property Value

ulong?

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

DateTimeOffset

BlockStateHash

Hash of the block state at the end of the given block.

public StateHash BlockStateHash { get; init; }

Property Value

StateHash

Epoch

The epoch of the block. Present from protocol version 6.

public Epoch? Epoch { get; init; }

Property Value

Epoch?

EraBlockHeight

The height of this block relative to the (re)genesis block of its era.

public ulong EraBlockHeight { get; init; }

Property Value

ulong

Finalized

Whether the block is finalized or not.

public bool Finalized { get; init; }

Property Value

bool

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

uint

ProtocolVersion

Protocol version to which the block belongs.

public ProtocolVersion ProtocolVersion { get; init; }

Property Value

ProtocolVersion

Round

The round of the block. Present from protocol version 6.

public Round? Round { get; init; }

Property Value

Round?

TransactionCount

The number of transactions in the block.

public uint TransactionCount { get; init; }

Property Value

uint

TransactionEnergyCost

The total energy consumption of transactions in the block.

public EnergyAmount TransactionEnergyCost { get; init; }

Property Value

EnergyAmount

TransactionSize

Size of all the transactions in the block in bytes.

public uint TransactionSize { get; init; }

Property Value

uint