События
Часть раздела Основы путешествия по Solidity на Coddy. Урок 48 из 53.
Событие записывает запись журнала, которую могут наблюдать приложения вне блокчейна. Объявите его имя и типизированные поля на уровне контракта, затем используйте emit, чтобы создать запись журнала. События отличаются от переменных состояния и от практической консоли.
Объявите это на уровне контракта:
event Counted(uint256 value);Используйте его внутри предоставленной функции main:
emit Counted(17);
console.log(uint256(17));Counted создаёт журнал событий с одним числовым полем. Вызов консоли отдельно выводит в этом исполнителе упражнений семнадцать. Журналы событий не включаются в тесты вывода текста, поэтому корректное упражнение должно создать событие и отдельно вывести запрошенное значение.
Объявляйте события с помощью event, а их журналы создавайте с помощью emit.
Задание
ЛегкоОбъявите событие Updated(uint256 value). Вызовите Updated(amount), затем выведите amount.
Тесты передают аргументы в 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Функции
Параметры функцийВозврат значенийЧистые функцииВызовы вспомогательных функцийПовторно используемые вычисленияПотренируйтесь самостоятельно: Песочница Solidity