> ## 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/BeaconBlockRoot

> Auto-generated API documentation

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

***

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

# primitives/BeaconBlockRoot

## Type Aliases

### BeaconBlockRootType

> **BeaconBlockRootType** = `Uint8Array` & `object`

Defined in: [src/primitives/BeaconBlockRoot/BeaconBlockRootType.ts:13](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BeaconBlockRoot/BeaconBlockRootType.ts#L13)

BeaconBlockRoot type

Represents a 32-byte beacon chain block root hash (EIP-4788).
Available in the EVM via BLOCKHASH opcode for recent slots.

#### Type Declaration

##### \[brand]

> `readonly` **\[brand]**: `"BeaconBlockRoot"`

##### length

> **length**: `32`

#### See

* [https://voltaire.tevm.sh/primitives/beacon-block-root](https://voltaire.tevm.sh/primitives/beacon-block-root) for BeaconBlockRoot documentation
* [https://eips.ethereum.org/EIPS/eip-4788](https://eips.ethereum.org/EIPS/eip-4788) for EIP-4788 specification

#### Since

0.0.0

## Variables

### BeaconBlockRoot

> `const` **BeaconBlockRoot**: `object`

Defined in: [src/primitives/BeaconBlockRoot/index.ts:12](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BeaconBlockRoot/index.ts#L12)

#### Type Declaration

##### equals()

> **equals**: (`a`, `b`) => `boolean`

Check if BeaconBlockRoot values are equal

###### Parameters

###### a

[`BeaconBlockRootType`](#beaconblockroottype)

First root

###### b

[`BeaconBlockRootType`](#beaconblockroottype)

Second root

###### Returns

`boolean`

true if equal

###### See

[https://voltaire.tevm.sh/primitives/beacon-block-root](https://voltaire.tevm.sh/primitives/beacon-block-root) for BeaconBlockRoot documentation

###### Since

0.0.0

###### Throws

###### Example

```javascript theme={null}
import * as BeaconBlockRoot from './primitives/BeaconBlockRoot/index.js';
const a = BeaconBlockRoot.from('0x1234...');
const b = BeaconBlockRoot.from('0x1234...');
const result = BeaconBlockRoot.equals(a, b); // true
```

##### from()

> **from**: (`value`) => [`BeaconBlockRootType`](#beaconblockroottype)

Create BeaconBlockRoot from string or bytes

###### Parameters

###### value

Hex string with optional 0x prefix or Uint8Array

`string` | `Uint8Array`\<`ArrayBufferLike`>

###### Returns

[`BeaconBlockRootType`](#beaconblockroottype)

BeaconBlockRoot

###### See

[https://voltaire.tevm.sh/primitives/beacon-block-root](https://voltaire.tevm.sh/primitives/beacon-block-root) for BeaconBlockRoot documentation

###### Since

0.0.0

###### Throws

If input is invalid or wrong length

###### Example

```javascript theme={null}
import * as BeaconBlockRoot from './primitives/BeaconBlockRoot/index.js';
const root1 = BeaconBlockRoot.from('0x1234...');
const root2 = BeaconBlockRoot.from(new Uint8Array(32));
```

##### fromBytes()

> **fromBytes**: (`bytes`) => [`BeaconBlockRootType`](#beaconblockroottype)

Create BeaconBlockRoot from Uint8Array

###### Parameters

###### bytes

`Uint8Array`\<`ArrayBufferLike`>

32-byte Uint8Array

###### Returns

[`BeaconBlockRootType`](#beaconblockroottype)

BeaconBlockRoot

###### See

[https://voltaire.tevm.sh/primitives/beacon-block-root](https://voltaire.tevm.sh/primitives/beacon-block-root) for BeaconBlockRoot documentation

###### Since

0.0.0

###### Throws

If bytes length is not 32

###### Example

```javascript theme={null}
import * as BeaconBlockRoot from './primitives/BeaconBlockRoot/index.js';
const root = BeaconBlockRoot.fromBytes(new Uint8Array(32));
```

##### fromHex()

> **fromHex**: (`hex`) => [`BeaconBlockRootType`](#beaconblockroottype)

Create BeaconBlockRoot from hex string

###### Parameters

###### hex

`string`

Hex string with optional 0x prefix

###### Returns

[`BeaconBlockRootType`](#beaconblockroottype)

BeaconBlockRoot

###### See

[https://voltaire.tevm.sh/primitives/beacon-block-root](https://voltaire.tevm.sh/primitives/beacon-block-root) for BeaconBlockRoot documentation

###### Since

0.0.0

###### Throws

If hex string is invalid or wrong length

###### Example

```javascript theme={null}
import * as BeaconBlockRoot from './primitives/BeaconBlockRoot/index.js';
const root = BeaconBlockRoot.fromHex('0x1234...');
```

##### toHex()

> **toHex**: (`root`) => `string`

Convert BeaconBlockRoot to hex string

###### Parameters

###### root

[`BeaconBlockRootType`](#beaconblockroottype)

BeaconBlockRoot

###### Returns

`string`

Hex string with 0x prefix

###### See

[https://voltaire.tevm.sh/primitives/beacon-block-root](https://voltaire.tevm.sh/primitives/beacon-block-root) for BeaconBlockRoot documentation

###### Since

0.0.0

###### Throws

###### Example

```javascript theme={null}
import * as BeaconBlockRoot from './primitives/BeaconBlockRoot/index.js';
const root = BeaconBlockRoot.from(new Uint8Array(32));
const hex = BeaconBlockRoot.toHex(root); // "0x0000..."
```

***

### SIZE

> `const` **SIZE**: `32` = `32`

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

## Functions

### equals()

> **equals**(`a`, `b`): `boolean`

Defined in: [src/primitives/BeaconBlockRoot/equals.js:18](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BeaconBlockRoot/equals.js#L18)

Check if BeaconBlockRoot values are equal

#### Parameters

##### a

[`BeaconBlockRootType`](#beaconblockroottype)

First root

##### b

[`BeaconBlockRootType`](#beaconblockroottype)

Second root

#### Returns

`boolean`

true if equal

#### See

[https://voltaire.tevm.sh/primitives/beacon-block-root](https://voltaire.tevm.sh/primitives/beacon-block-root) for BeaconBlockRoot documentation

#### Since

0.0.0

#### Throws

#### Example

```javascript theme={null}
import * as BeaconBlockRoot from './primitives/BeaconBlockRoot/index.js';
const a = BeaconBlockRoot.from('0x1234...');
const b = BeaconBlockRoot.from('0x1234...');
const result = BeaconBlockRoot.equals(a, b); // true
```

***

### from()

> **from**(`value`): [`BeaconBlockRootType`](#beaconblockroottype)

Defined in: [src/primitives/BeaconBlockRoot/from.js:19](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BeaconBlockRoot/from.js#L19)

Create BeaconBlockRoot from string or bytes

#### Parameters

##### value

Hex string with optional 0x prefix or Uint8Array

`string` | `Uint8Array`\<`ArrayBufferLike`>

#### Returns

[`BeaconBlockRootType`](#beaconblockroottype)

BeaconBlockRoot

#### See

[https://voltaire.tevm.sh/primitives/beacon-block-root](https://voltaire.tevm.sh/primitives/beacon-block-root) for BeaconBlockRoot documentation

#### Since

0.0.0

#### Throws

If input is invalid or wrong length

#### Example

```javascript theme={null}
import * as BeaconBlockRoot from './primitives/BeaconBlockRoot/index.js';
const root1 = BeaconBlockRoot.from('0x1234...');
const root2 = BeaconBlockRoot.from(new Uint8Array(32));
```

***

### fromBytes()

> **fromBytes**(`bytes`): [`BeaconBlockRootType`](#beaconblockroottype)

Defined in: [src/primitives/BeaconBlockRoot/fromBytes.js:17](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BeaconBlockRoot/fromBytes.js#L17)

Create BeaconBlockRoot from Uint8Array

#### Parameters

##### bytes

`Uint8Array`\<`ArrayBufferLike`>

32-byte Uint8Array

#### Returns

[`BeaconBlockRootType`](#beaconblockroottype)

BeaconBlockRoot

#### See

[https://voltaire.tevm.sh/primitives/beacon-block-root](https://voltaire.tevm.sh/primitives/beacon-block-root) for BeaconBlockRoot documentation

#### Since

0.0.0

#### Throws

If bytes length is not 32

#### Example

```javascript theme={null}
import * as BeaconBlockRoot from './primitives/BeaconBlockRoot/index.js';
const root = BeaconBlockRoot.fromBytes(new Uint8Array(32));
```

***

### fromHex()

> **fromHex**(`hex`): [`BeaconBlockRootType`](#beaconblockroottype)

Defined in: [src/primitives/BeaconBlockRoot/fromHex.js:19](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BeaconBlockRoot/fromHex.js#L19)

Create BeaconBlockRoot from hex string

#### Parameters

##### hex

`string`

Hex string with optional 0x prefix

#### Returns

[`BeaconBlockRootType`](#beaconblockroottype)

BeaconBlockRoot

#### See

[https://voltaire.tevm.sh/primitives/beacon-block-root](https://voltaire.tevm.sh/primitives/beacon-block-root) for BeaconBlockRoot documentation

#### Since

0.0.0

#### Throws

If hex string is invalid or wrong length

#### Example

```javascript theme={null}
import * as BeaconBlockRoot from './primitives/BeaconBlockRoot/index.js';
const root = BeaconBlockRoot.fromHex('0x1234...');
```

***

### toHex()

> **toHex**(`root`): `string`

Defined in: [src/primitives/BeaconBlockRoot/toHex.js:18](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BeaconBlockRoot/toHex.js#L18)

Convert BeaconBlockRoot to hex string

#### Parameters

##### root

[`BeaconBlockRootType`](#beaconblockroottype)

BeaconBlockRoot

#### Returns

`string`

Hex string with 0x prefix

#### See

[https://voltaire.tevm.sh/primitives/beacon-block-root](https://voltaire.tevm.sh/primitives/beacon-block-root) for BeaconBlockRoot documentation

#### Since

0.0.0

#### Throws

#### Example

```javascript theme={null}
import * as BeaconBlockRoot from './primitives/BeaconBlockRoot/index.js';
const root = BeaconBlockRoot.from(new Uint8Array(32));
const hex = BeaconBlockRoot.toHex(root); // "0x0000..."
```
