0
0
Blockchain / Solidityprogramming~10 mins

View and pure functions in Blockchain / Solidity - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - View and pure functions
Call function
Is function view or pure?
NoModify state allowed
Yes
Read-only or no state access
Return data without state change
End function
This flow shows how view and pure functions are called and how they only read or do not access state, returning data without changing blockchain state.
Execution Sample
Blockchain / Solidity
contract Example {
  uint x = 10;
  function getX() public view returns (uint) {
    return x;
  }
  function add(uint a, uint b) public pure returns (uint) {
    return a + b;
  }
}
This contract has a view function that reads state and a pure function that only uses inputs to return a result.
Execution Table
StepFunction CalledState AccessActionReturn Value
1getX()Reads state variable xReturns x value10
2add(3, 4)No state accessCalculates sum 3+47
3getX()Reads state variable xReturns x value10
4add(10, 20)No state accessCalculates sum 10+2030
5End-No more calls-
💡 Execution stops after all function calls return their results without modifying state.
Variable Tracker
VariableStartAfter getX()After add(3,4)After getX() againAfter add(10,20)Final
x101010101010
a--3-10-
b--4-20-
Key Moments - 2 Insights
Why does the view function getX() not change the state variable x?
Because view functions are read-only and cannot modify state, as shown in execution_table rows 1 and 3 where x remains 10.
Why can the pure function add() not access the state variable x?
Pure functions do not read or modify state; they only use input parameters, as seen in execution_table rows 2 and 4 where add() uses only a and b.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the return value of getX() at step 3?
A7
B10
C30
D0
💡 Hint
Check the 'Return Value' column at step 3 in execution_table.
At which step does the function add() calculate the sum of 10 and 20?
AStep 4
BStep 1
CStep 2
DStep 5
💡 Hint
Look at the 'Function Called' and 'Action' columns in execution_table.
If the function getX() tried to modify x, what would happen according to the concept flow?
AIt would succeed and change x
BIt would ignore the change silently
CIt would cause an error because view functions cannot modify state
DIt would convert to a pure function
💡 Hint
Refer to the decision step 'Is function view or pure?' in concept_flow.
Concept Snapshot
View and pure functions in blockchain:
- View functions read state but do not modify it.
- Pure functions neither read nor modify state.
- Both return data without changing blockchain state.
- Use view for reading variables.
- Use pure for calculations using only inputs.
Full Transcript
This visual execution shows how view and pure functions work in blockchain smart contracts. View functions can read state variables but cannot change them, while pure functions cannot read or change state and only use their input parameters. The example contract has a state variable x set to 10. The getX() function is view and returns x's value without changing it. The add() function is pure and returns the sum of two inputs without accessing state. The execution table traces calls to these functions, showing their actions and return values. Variables like x remain unchanged throughout. Key moments clarify why view functions cannot modify state and why pure functions cannot access state. The quiz tests understanding of return values, function steps, and rules about state modification. The snapshot summarizes the key rules for using view and pure functions in blockchain programming.