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
, что означает, что их значения не могут быть изменены после компиляции и развертывания контракта. Отличительная особенность констант - их значения известны на этапе компиляции и хранятся непосредственно в самом контракте, что позволяет другим функциям использовать их без необходимости изменения состояния контракта.
В данном контракте также применяется соглашение о кодировании, согласно которому имена констант записываются в верхнем регистре. Это помогает отличать константы от других переменных в коде и упрощает чтение и понимание программы.