# Block Information

To get information about a block, the functions `getCurrentBlock` and `getBlock` can be used:

```
  fun getCurrentBlock(): Block
```

Returns the current block, i.e. the block which contains the currently executed transaction.

```
  fun getBlock(at height: UInt64): Block?
```

Returns the block at the given height. If the given block does not exist the function returns `nil`.

The `Block` type contains the identifier, height, and timestamp:

```
pub struct Block {
    /// The ID of the block.
    ///
    /// It is essentially the hash of the block.
    ///
    pub let id: [UInt8; 32]

    /// The height of the block.
    ///
    /// If the blockchain is viewed as a tree with the genesis block at the root,
    // the height of a node is the number of edges between the node and the genesis block
    ///
    pub let height: UInt64

    /// The view of the block.
    ///
    /// It is a detail of the consensus algorithm. It is a monotonically increasing integer
    /// and counts rounds in the consensus algorithm. Since not all rounds result in a finalized block,
    /// the view number is strictly greater than or equal to the block height
    ///
    pub let view: UInt64

    /// The timestamp of the block.
    ///
    /// It is the local clock time of the block proposer when it generates the block
    ///
    pub let timestamp: UFix64
}
```
