Menu
CoddyTech

事件

本课属于 Coddy Solidity 学习旅程的“基础知识”单元。第 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 在线编辑器