Nếu hàm không thay đổi state variable, ta có thể thêm state modifier view vào khai báo của hàm, mang ý nghĩa là hàm này chỉ đọc chứ không chỉnh sửa dữ liệu.

function sayHello() public view returns (string memory) { 
	return greeting;
}

Ngoài ra còn có một state modifier khác là pure. Khi áp dụng cho một hàm, nó cho biết hàm đó sẽ không truy cập vào state variable của contract. Ví dụ:

function _multiply(uint a, uint b) private pure returns (uint) {
	return a * b;
}

Có thể xem pure function như là các static function ở một số ngôn ngữ khác chẳng hạn như C++ hoặc [[Csharp|C#]].