> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sqd.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Block data for Tron

> Block data interfaces for Tron indexing — type definitions for blocks, transactions, internal transactions, and event logs.

In Tron Squid SDK, the data is processed by repeatedly calling the user-defined [batch handler](/en/sdk/squid-sdk/reference/processors/architecture#processorrun) function on batches of on-chain data. The sole argument of the batch handler is its context `ctx`, and `ctx.blocks` is an array of `Block` objects containing the data to be processed, aligned at the block level.

For `TronBatchProcessor` the `Block` interface is defined as follows:

```ts theme={"system"}
export interface Block<F extends FieldSelection = {}> {
  header: BlockHeader<F>
  transactions: Transaction<F>[]
  logs: Log<F>[]
  internalTransactions: InternalTransaction<F>[]
}
```

`F` here is the type of the argument of the [`setFields()`](/en/sdk/squid-sdk/tron-indexing/tron-batch-processor/field-selection) processor method.

`Block.header` contains the block header data. The rest of the fields are iterables containing the three kinds of blockchain data. The items within each iterable are ordered in the same way as they are within the block.

The exact fields available in each data item type are inferred from the `setFields()` call argument. The method is documented on the [field selection](/en/sdk/squid-sdk/tron-indexing/tron-batch-processor/field-selection) page:

* [`Transaction` section](/en/sdk/squid-sdk/tron-indexing/tron-batch-processor/field-selection#transaction);
* [`Log` section](/en/sdk/squid-sdk/tron-indexing/tron-batch-processor/field-selection#log);
* [`InternalTransaction` section](/en/sdk/squid-sdk/tron-indexing/tron-batch-processor/field-selection#internal-transaction).
* [`BlockHeader` section](/en/sdk/squid-sdk/tron-indexing/tron-batch-processor/field-selection#block-header)
