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

# View Function

> A smart-contract function declared not to modify blockchain state.

# View Function

A smart-contract function declared not to modify blockchain state.

## Definition

A smart-contract function declared not to modify blockchain state.

## Why it matters

Smart-contract concepts are essential for understanding programmable blockchain applications.

## How it works

When a user calls a view function, the Ethereum node executes the function code locally within its own instance of the virtual machine. Because the function is restricted from performing state-altering operations like 'SSTORE' or 'LOG', the node does not need to submit a transaction for consensus. The result is returned directly to the user's interface, allowing for high-performance data retrieval without waiting for block confirmation.

## Real-world example

In the Uniswap decentralized exchange, a user's interface calls view functions to query the current 'getAmountsOut' or 'getReserves' to display the price of a token before the user initiates a swap, ensuring they know the exchange rate before spending any gas.

## Advantages

* Zero gas cost for execution
* Instant read access to data
* No requirement for network consensus
* Enables reactive user interfaces

## Limitations

* Cannot update contract state
* Cannot emit blockchain events
* Results reflect the local node state
* Vulnerable to front-running if relied upon for logic

## Common misconceptions

* People often think view functions can modify state if the user has enough gas. Actually, the compiler strictly prohibits any state-changing operations within these functions.
* Users sometimes believe view functions are always 100% up to date with the latest block. In reality, they read the state of the specific node the user is connected to.

## Related knowledge

* [ABI](/generated/v2/glossary/abi) — term
* [Smart Contract](/generated/v2/glossary/smart-contract) — term
* [Solidity](/generated/v2/resources/solidity) — term

***

**Canonical knowledge ID:** `glossary:view-function`
