Menu
Coddy logo textTech

События

Часть раздела Основы путешествия по Solidity на Coddy. Урок 48 из 53.

Событие записывает запись журнала, которую могут наблюдать приложения вне блокчейна. Объявите его имя и типизированные поля на уровне контракта, затем используйте emit, чтобы создать запись журнала. События отличаются от переменных состояния и от практической консоли.

Объявите это на уровне контракта:

event Counted(uint256 value);

Используйте его внутри предоставленной функции main:

emit Counted(17);
console.log(uint256(17));

Counted создаёт журнал событий с одним числовым полем. Вызов консоли отдельно выводит в этом исполнителе упражнений семнадцать. Журналы событий не включаются в тесты вывода текста, поэтому корректное упражнение должно создать событие и отдельно вывести запрошенное значение.

Объявляйте события с помощью event, а их журналы создавайте с помощью emit.

challenge icon

Задание

Легко

Объявите событие 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  {
        // Напишите своё решение здесь.
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Solidity