事件(Events)是 Solidity 中用于记录合约状态变化的重要机制,常用于调试、审计和与前端交互。以下是关键知识点:

📌 事件基础

  • 定义事件:使用 event 关键字声明

    event Transfer(address from, address to, uint amount);
    
    Solidity_事件定义
  • 触发事件:通过 emit 关键字调用

    emit Transfer(msg.sender, receiver, amount);
    
    事件触发示例

🔍 事件日志

  • 查看日志:使用 truffle consoleweb3.js 接收

    contract.methods.Transfer().watch()
    
    日志查询工具
  • 过滤数据:可通过 topicsdata 区分字段

    Solidity_事件过滤

📚 扩展阅读

如需深入了解事件与 ABI 的关系,可访问 Solidity 合约结构 文档。