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

# primitives/Block

> Auto-generated API documentation

[**@tevm/voltaire**](../index.mdx)

***

[@tevm/voltaire](../index.mdx) / primitives/Block

# primitives/Block

## Type Aliases

### BlockType

> **BlockType** = `object`

Defined in: [src/primitives/Block/BlockType.ts:16](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Block/BlockType.ts#L16)

Block type - represents complete Ethereum block

Full block with header, body, and computed metadata.
Used for block validation, storage, and propagation.

#### See

* [https://voltaire.tevm.sh/primitives/block](https://voltaire.tevm.sh/primitives/block) for Block documentation
* [https://ethereum.org/en/developers/docs/blocks/](https://ethereum.org/en/developers/docs/blocks/) for block documentation

#### Since

0.0.0

#### Properties

##### body

> `readonly` **body**: [`BlockBodyType`](BlockBody.mdx#blockbodytype)

Defined in: [src/primitives/Block/BlockType.ts:20](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Block/BlockType.ts#L20)

Block body (transactions, ommers, withdrawals)

##### hash

> `readonly` **hash**: [`BlockHashType`](BlockHash.mdx#blockhashtype)

Defined in: [src/primitives/Block/BlockType.ts:22](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Block/BlockType.ts#L22)

Block hash (computed from RLP(header))

##### header

> `readonly` **header**: [`BlockHeaderType`](BlockHeader.mdx#blockheadertype)

Defined in: [src/primitives/Block/BlockType.ts:18](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Block/BlockType.ts#L18)

Block header (metadata + Merkle roots)

##### size

> `readonly` **size**: [`Type`](Uint.mdx#type)

Defined in: [src/primitives/Block/BlockType.ts:24](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Block/BlockType.ts#L24)

Block size in bytes (RLP-encoded)

##### totalDifficulty?

> `readonly` `optional` **totalDifficulty**: [`Type`](Uint.mdx#type)

Defined in: [src/primitives/Block/BlockType.ts:26](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Block/BlockType.ts#L26)

Total difficulty (cumulative, pre-merge only)

## Variables

### Block

> `const` **Block**: `object`

Defined in: [src/primitives/Block/index.ts:22](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Block/index.ts#L22)

#### Type Declaration

##### from()

> **from**: (`params`) => [`BlockType`](#blocktype)

###### Parameters

###### params

###### body

[`BlockBodyType`](BlockBody.mdx#blockbodytype)

###### hash

`string` | [`BlockHashType`](BlockHash.mdx#blockhashtype)

###### header

[`BlockHeaderType`](BlockHeader.mdx#blockheadertype)

###### size

`string` | `number` | `bigint`

###### totalDifficulty?

`string` | `number` | `bigint`

###### Returns

[`BlockType`](#blocktype)

## Functions

### \_from()

> **\_from**(`params`): [`BlockType`](#blocktype)

Defined in: [src/primitives/Block/from.js:26](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Block/from.js#L26)

Create Block from components

#### Parameters

##### params

Block parameters

###### body

[`BlockBodyType`](BlockBody.mdx#blockbodytype)

Block body

###### hash

`string` | [`BlockHashType`](BlockHash.mdx#blockhashtype)

Block hash

###### header

[`BlockHeaderType`](BlockHeader.mdx#blockheadertype)

Block header

###### size

`string` | `number` | `bigint`

Block size in bytes

###### totalDifficulty?

`string` | `number` | `bigint`

Total difficulty (optional, pre-merge)

#### Returns

[`BlockType`](#blocktype)

Block

#### Example

```typescript theme={null}
const block = Block.from({
  header: blockHeader,
  body: blockBody,
  hash: "0x1234...",
  size: 1024n,
  totalDifficulty: 12345678n // Optional, pre-merge
});
```

***

### from()

> **from**(`params`): [`BlockType`](#blocktype)

Defined in: [src/primitives/Block/index.ts:11](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Block/index.ts#L11)

#### Parameters

##### params

###### body

[`BlockBodyType`](BlockBody.mdx#blockbodytype)

###### hash

`string` | [`BlockHashType`](BlockHash.mdx#blockhashtype)

###### header

[`BlockHeaderType`](BlockHeader.mdx#blockheadertype)

###### size

`string` | `number` | `bigint`

###### totalDifficulty?

`string` | `number` | `bigint`

#### Returns

[`BlockType`](#blocktype)
