Открытые геттеры состояния
Часть раздела Основы путешествия по Solidity на Coddy. Урок 28 из 53.
Добавление public к переменной состояния заставляет компилятор сгенерировать геттер, который можно вызвать извне контракта. Сеттер при этом не генерируется. Внутри контракта обращайтесь к переменной напрямую по имени. Публичная видимость управляет интерфейсом, но не определяет, является ли хранилище блокчейна секретным.
Объявите это на уровне контракта:
uint256 public score;Используйте это внутри предоставленной функции main:
score = 32;
console.log(score);Объявление uint256 public score создаёт геттер с именем score для внешних вызывающих сторон. Внутри main простое имя считывает переменную состояния. Для записи по-прежнему требуется код контракта; модификатор public не позволяет вызывающим сторонам напрямую присваивать значение хранилищу.
Публичная переменная состояния получает внешний геттер, но не автоматический сеттер.
Задание
ЛегкоОбъявите uint256 public total. Установите значение total равным переданному amount внутри main и выведите его.
Тесты передают аргументы в main в следующем порядке: uint256 amount. Каждый тест начинается с нового состояния контракта.
Используйте console.log для требуемого вывода. Выводите только требуемые значения, по одному в строке, без дополнительных меток, если только этого не требует задание.
Попробуйте сами
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 amount) external {
// Напишите своё решение здесь.
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
2Переменные и типы
Беззнаковые целые числаВвод и выводЗнаковые целые числаЛогические значенияСтроки в памятиКарточка профиля5Функции
Параметры функцийВозврат значенийЧистые функцииВызовы вспомогательных функцийПовторно используемые вычисления6Состояние контракта
Переменные состоянияЧтение и запись состоянияОткрытые геттеры состоянияКонстантыОбщий счётчикПотренируйтесь самостоятельно: Песочница Solidity