L1.2 - Events and Callbacks
EVM中的事件 事件允许智能合约在满足特定条件时,通过记录特定信息来与外部世界进行通信。有了事件,去中心化应用(dApps)就可以直接响应发生的动作,而不需要不停地主动查询(轮询)区块链状态。 EVM 会对事件进行索引(Index),这使得监控区块链活动(如转账、价格变化)变得非常高效和容易。当合约触发事件时,数据被存储在交易的日志(Logs)中。这些日志虽然附着在区块链的区块上,但它们不会直接影响区块链的状态(例如,它们不会改变账户余额或合约变量的值)。 开发者通过两个核心关键字来使用事件: 触发(Emit):使用 emit 关键字来正式记录数据。 例如:emit PriceUpdated("ETH", newEthPrice); 定义(Define):使用 event 关键字,后接事件名称和要记录的数据类型。 例如:event PriceUpdated(string symbol, uint256…