事件
本课属于 Coddy Solidity 学习旅程的“基础知识”单元。第 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 {
// 在这里写下你的答案。
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Solidity 在线编辑器