Смарт-контракты. Что такое смарт-контракт и как его создать в Solidity. С подробным разбором кода - страница 14

Шрифт
Интервал


Локальные переменные, с другой стороны, существуют только внутри функции и исчезают после её выполнения. Они используются для временных вычислений и обработки данных внутри функций. Локальные переменные полезны, когда вам нужно временно хранить промежуточные результаты вычислений или выполнять действия внутри функции, не оставляя следов в состоянии контракта.

Пример использования переменных состояния и локальных переменных

Давайте представим, что у нас есть смарт-контракт для управления простым токеном. Мы хотим хранить общее количество выпущенных токенов и балансы каждого адреса.

contract SimpleToken {

uint256 public totalSupply;

mapping(address => uint256) public balances;


constructor(uint256 initialSupply) {

totalSupply = initialSupply;

balances[msg.sender] = initialSupply;

}


function transfer(address to, uint256 amount) public {

require(balances[msg.sender] >= amount, "Not enough balance");

balances[msg.sender] -= amount;

balances[to] += amount;

}

}

В этом примере:

•      totalSupply – переменная состояния, хранящая общее количество выпущенных токенов. Она будет доступна для всех, кто хочет проверить общее количество токенов в обращении.