# Block

***

### BLOCKHASH <a href="#blockhash" id="blockhash"></a>

Original [EVM](https://www.evm.codes/#40?fork=shanghai) instruction.

#### System Contract <a href="#system-contract" id="system-contract"></a>

This information is requested a System Contract called [SystemContext](https://github.com/matter-labs/era-system-contracts/blob/main/contracts/SystemContext.sol).

On how the System Contract is called, see [this section](https://docs.zksync.io/zk-stack/components/compiler/specification/system-contracts#environmental-data-storage).

#### LLVM IR <a href="#llvm-ir" id="llvm-ir"></a>

[The LLVM IR generator code](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/evm/context.rs#L47) is common for Yul and EVMLA representations.

The request to the System Contract is done via the [SystemRequest](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/context/function/runtime/system_request.rs) runtime function.

### COINBASE <a href="#coinbase" id="coinbase"></a>

Original [EVM](https://www.evm.codes/#41?fork=shanghai) instruction.

#### System Contract <a href="#system-contract-1" id="system-contract-1"></a>

This information is requested a System Contract called [SystemContext](https://github.com/matter-labs/era-system-contracts/blob/main/contracts/SystemContext.sol).

On how the System Contract is called, see [this section](https://docs.zksync.io/zk-stack/components/compiler/specification/system-contracts#environmental-data-storage).

#### LLVM IR <a href="#llvm-ir-1" id="llvm-ir-1"></a>

[The LLVM IR generator code](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/evm/context.rs#L150) is common for Yul and EVMLA representations.

The request to the System Contract is done via the [SystemRequest](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/context/function/runtime/system_request.rs) runtime function.

### TIMESTAMP <a href="#timestamp" id="timestamp"></a>

Original [EVM](https://www.evm.codes/#42?fork=shanghai) instruction.

#### System Contract <a href="#system-contract-2" id="system-contract-2"></a>

This information is requested a System Contract called [SystemContext](https://github.com/matter-labs/era-system-contracts/blob/main/contracts/SystemContext.sol).

On how the System Contract is called, see [this section](https://docs.zksync.io/zk-stack/components/compiler/specification/system-contracts#environmental-data-storage).

#### LLVM IR <a href="#llvm-ir-2" id="llvm-ir-2"></a>

[The LLVM IR generator code](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/evm/context.rs#L98) is common for Yul and EVMLA representations.

The request to the System Contract is done via the [SystemRequest](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/context/function/runtime/system_request.rs) runtime function.

### NUMBER <a href="#number" id="number"></a>

Original [EVM](https://www.evm.codes/#43?fork=shanghai) instruction.

#### System Contract <a href="#system-contract-3" id="system-contract-3"></a>

This information is requested a System Contract called [SystemContext](https://github.com/matter-labs/era-system-contracts/blob/main/contracts/SystemContext.sol).

On how the System Contract is called, see [this section](https://docs.zksync.io/zk-stack/components/compiler/specification/system-contracts#environmental-data-storage).

#### LLVM IR <a href="#llvm-ir-3" id="llvm-ir-3"></a>

[The LLVM IR generator code](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/evm/context.rs#L81) is common for Yul and EVMLA representations.

The request to the System Contract is done via the [SystemRequest](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/context/function/runtime/system_request.rs) runtime function.

### PREVRANDAO <a href="#prevrandao" id="prevrandao"></a>

Original [EVM](https://www.evm.codes/#44?fork=shanghai) instruction. | DIFFICULTY

Original [EVM](https://www.evm.codes/#44?fork=grayGlacier)

#### System Contract <a href="#system-contract-4" id="system-contract-4"></a>

This information is requested a System Contract called [SystemContext](https://github.com/matter-labs/era-system-contracts/blob/main/contracts/SystemContext.sol).

On how the System Contract is called, see [this section](https://docs.zksync.io/zk-stack/components/compiler/specification/system-contracts#environmental-data-storage).

#### LLVM IR <a href="#llvm-ir-4" id="llvm-ir-4"></a>

[The LLVM IR generator code](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/evm/context.rs#L133) is common for Yul and EVMLA representations.

The request to the System Contract is done via the [SystemRequest](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/context/function/runtime/system_request.rs) runtime function.

### GASLIMIT <a href="#gaslimit" id="gaslimit"></a>

Original [EVM](https://www.evm.codes/#45?fork=shanghai) instruction.

#### System Contract <a href="#system-contract-5" id="system-contract-5"></a>

This information is requested a System Contract called [SystemContext](https://github.com/matter-labs/era-system-contracts/blob/main/contracts/SystemContext.sol).

On how the System Contract is called, see [this section](https://docs.zksync.io/zk-stack/components/compiler/specification/system-contracts#environmental-data-storage).

#### LLVM IR <a href="#llvm-ir-5" id="llvm-ir-5"></a>

[The LLVM IR generator code](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/evm/context.rs#L13) is common for Yul and EVMLA representations.

The request to the System Contract is done via the [SystemRequest](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/context/function/runtime/system_request.rs) runtime function.

### CHAINID <a href="#chainid" id="chainid"></a>

Original [EVM](https://www.evm.codes/#46?fork=shanghai) instruction.

#### System Contract <a href="#system-contract-6" id="system-contract-6"></a>

This information is requested a System Contract called [SystemContext](https://github.com/matter-labs/era-system-contracts/blob/main/contracts/SystemContext.sol).

On how the System Contract is called, see [this section](https://docs.zksync.io/zk-stack/components/compiler/specification/system-contracts#environmental-data-storage).

#### LLVM IR <a href="#llvm-ir-6" id="llvm-ir-6"></a>

[The LLVM IR generator code](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/evm/context.rs#L64) is common for Yul and EVMLA representations.

The request to the System Contract is done via the [SystemRequest](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/context/function/runtime/system_request.rs) runtime function.

### SELFBALANCE <a href="#selfbalance" id="selfbalance"></a>

Original [EVM](https://www.evm.codes/#47?fork=shanghai) instruction.

Implemented as [BALANCE](https://docs.zksync.io/zk-stack/components/compiler/specification/instructions/evm/environment#balance) with an [ADDRESS](https://docs.zksync.io/zk-stack/components/compiler/specification/instructions/evm/environment#address) as its argument.

### BASEFEE <a href="#basefee" id="basefee"></a>

Original [EVM](https://www.evm.codes/#48?fork=shanghai) instruction.

#### System Contract <a href="#system-contract-7" id="system-contract-7"></a>

This information is requested a System Contract called [SystemContext](https://github.com/matter-labs/era-system-contracts/blob/main/contracts/SystemContext.sol).

On how the System Contract is called, see [this section](https://docs.zksync.io/zk-stack/components/compiler/specification/system-contracts#environmental-data-storage).

#### LLVM IR <a href="#llvm-ir-7" id="llvm-ir-7"></a>

[The LLVM IR generator code](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/evm/context.rs#L167) is common for Yul and EVMLA representations.

The request to the System Contract is done via the [SystemRequest](https://github.com/matter-labs/era-compiler-llvm-context/blob/main/src/eravm/context/function/runtime/system_request.rs) runtime function.

\
