constant - demonoved/A-trial-run-in-solidity GitHub Wiki

// SPDX-License-Identifier: MIT
// compiler version must be greater than or equal to 0.8.20 and less than 0.9.0
pragma solidity ^0.8.23;
contract constants{
    //соглашение о кодирование константы в верхнем регистре
    address public constant MY_ADDRESS = 0x777788889999AaAAbBbbCcccddDdeeeEfFFfCcCc;
    uint public constant MY_UINT = 123;
}

В данном примере кода мы определяем контракт constants, который содержит две константы: MY_ADDRESS и MY_UINT.

Константа MY_ADDRESS имеет тип address и содержит фиксированное значение 0x777788889999AaAAbBbbCcccddDdeeeEfFFfCcCc. Address в блокчейне Ethereum представляют собой идентификаторы, используемые для указания места расположения контрактов или участников сети.

Константа MY_UINT имеет тип uint (целое число без знака) и содержит значение 123. uint используется для представления положительных целых чисел.

Обе константы объявлены с модификатором constant, что означает, что их значения не могут быть изменены после компиляции и развертывания контракта. Отличительная особенность констант - их значения известны на этапе компиляции и хранятся непосредственно в самом контракте, что позволяет другим функциям использовать их без необходимости изменения состояния контракта.

В данном контракте также применяется соглашение о кодировании, согласно которому имена констант записываются в верхнем регистре. Это помогает отличать константы от других переменных в коде и упрощает чтение и понимание программы.