Cairo Contract Events
Overview
Explain how to define events and emit them from Cairo contracts.
Quick Use
- •Read
references/contract-events.mdbefore answering. - •Define an
Eventenum with#[event]and#[derive(starknet::Event)]. - •Mark indexed fields with
#[key].
Response Checklist
- •Emit events with
self.emit(Event::Variant(...)). - •Use struct variants to keep event fields clear and typed.
- •Use
#[key]for fields that should be indexed.
Example Requests
- •"How do I emit an event from a contract?"
- •"What does #[key] do on an event field?"
- •"How do I define multiple event types?"