下面的示例代码定义了一个名为“Transfer”的事件,该事件在合约中转移金额 时触发。
pragma solidity ^0.8.7;
contract Example {
// 定义事件
event Transfer(
address indexed _from, // 发送者地址
address indexed _to, // 接收者地址
uint256 _value // 转移的数量
);
function transfer(address _to, uint256 _value) public payable {
// 在这里触发事件
emit Transfer(msg.sender, _to, _value);
}
}
事件是一种特殊类型的函数,用于在智能合约执行时记录日志信息。事件可以被监听,以便在发生特定的情况时执行一些代码。事件在区块链上是可查询的,因此可以用于在不破坏隐私的情况下记录合约的状态。