# GetBlock

Retrieving a blockchain block is not considered a transaction; instead, it's a request executed by a single node. In some cases, it may be necessary to send the same request multiple times to obtain a copy of the same block from different sources. Any optimization required is typically handled by the application itself, depending on the level of certainty needed.

```typescript
var Block = Circular.GetBlock(
                             Blockchain,
                             BlockNumber,
                             );
```

If the call is successful and the block is found, the returned data will resemble the example below:

```typescript
Block = {
          "Block":{
          "BlockID":123,
          "Blockchain":"8a20baa40c45...dc5ad72b2",
          "Nonce":3289,
          "Node":"02fc8b01bf...2ad78e7e077ea32",
          "PreviousBlockHash":"000cfc03c8ddc3...91be128d6302",
          "TimeStamp":"2023-05-27 03:33:27:31",

          "Payload":{

                    "Transactions":[
                    {
                    "ID":"bb5bdf8a8...91c7d15711a",
                    "From":"6c0f8fc21...7e75aba672916c45d",
                    "To":"e9ac19baf2afb...11755442fe2b8",
                    "Timestamp":"2023:05:26-23:23:44:153",
                    "Type":"C_TYPE_TOKEN",
                    "Payload":"...",
                    "OSignature":"30450221...c953949de12d99c",
                    "NodeID":"7bb5bd50729...70a452d1abe1c4",
                    "TransactionFee":"0.001000",
                    "GasFee":"0.200000"
                    },
                    ...
                    ]
               }
          },
          "Hash":"000c4b909d...b8dea8ca426",
          "Signature":"3045022046e...e5e6dfb78ca38d230"
          }
```

Here are the explanations for each field:

## **BlockID**

Represents the block's height or block index within the blockchain, where the genesis block has a height of 0.

## **Blockchain**

This is the address of the blockchain containing the block.

## **Nonce**

Represents the number of iterations required to calculate the block hash with the assigned difficulty, determined by the number of consecutive zeros at the left end of the hash.

## **Hash**

Block hash calculated using the SHA-256 hashing function.

## **PreviousBlockHash**

The previous block hash is calculated using the SHA-256 hashing function.

## **Node**

The node that has successfully mined or minted the block.

## **Signature**

The signature of the node that has successfully mined or minted the block.

## **TimeStamp**

The timestamp indicating when the block was successfully mined or minted.

## **Payload**

The block payload, also known as transactions, refers to the data or information included in a blockchain block. It typically consists of a collection of transactions that record various activities on the blockchain, such as transfers of digital assets or smart contract executions.

## **Transactions**

The list of transactions contained in a block represents all the individual transactions that have been included in that specific block on a blockchain.
