跳转到内容

Events

Move 事件与 Solidity 事件承担同样的产品职责:把重要的链上状态变化通知给链下读取方。

event MessageAdded(address sender, string message, uint256 addedAt);
#[event]
struct MessageAdded has drop, store {
sender: address,
message: String,
added_at: u64,
}
emit MessageAdded(sender, message, block.timestamp);
event::emit(MessageAdded {
sender,
message,
added_at: timestamp::now_seconds(),
});

Move 事件本质上是强类型 struct。这样做的好处是模型更清晰,后续也可以通过 Indexer 或交易 API 查询事件数据。