Page 2: Variables, Data Types, and Functions

2. Variables, Data Types, and Functions

Solidity is similar to C++ or JavaScript, but it has key differences in handling data types and state variables due to the Ethereum environment.

2.1. Key Data Types

2.2. State Variables vs. Local Variables

State variables are permanently stored on the blockchain (Storage), while local variables only exist during function execution (Memory/Stack).

contract DataTypes { 
uint256 public balance = 100; // State Variable (Storage)

function checkBalance() public view returns (uint256) {
uint256 temporaryValue = 5; // Local Variable (Stack)
return balance + temporaryValue;
}
}

2.3. Function Visibility

Functions have four visibility keywords: external, public, internal, private.