Solidity 中的事件是什么?
Solidity 事件与任何其他编程语言中的事件相同。事件是合约的可继承成员,它在发出时存储在事务日志中传递的参数。通常,借助 EVM 的日志记录工具,事件用于通知调用应用程序有关合约的当前状态。事件通知应用程序有关对可用于执行相关逻辑的合同和应用程序所做的更改。
创建事件
事件在合约中被定义为全局并在其函数中调用。事件使用event关键字声明,后跟标识符和参数列表,并以分号结尾。参数值用于记录信息或执行条件逻辑。它的信息和值被保存为块内交易的一部分。不需要提供变量,只有数据类型就足够了。通过使用事件名称并传递所需参数,可以从任何方法调用事件。
event (parameters) ;
// Solidity program to demonstrate
// creating an event
pragma solidity ^0.4.21;
// Creating a contract
contract eventExample {
// Declaring state variables
uint256 public value = 0;
// Declaring an event
event Increment(address owner);
// Defining a function for logging event
function getValue(uint _a, uint _b) public {
emit Increment(msg.sender);
value = _a + _b;
}
}
输出: