Explain solidity>events

Logging Contract Activity

Events let your contract log important actions. Frontend apps can listen for these events.

What Are Events?

Events are logs stored on the blockchain that external apps can read.

They're much cheaper than storing data in state variables.



Declaring Events:

event GameStarted(address indexed playerX, address indexed playerO, uint stake);

The indexed keyword makes parameters searchable/filterable.



Emitting Events:

Use the emit keyword to trigger an event:

emit GameStarted(playerX, playerO, stake);



Your Task:

1. Declare two events at the top: GameStarted and GameEnded

2. Emit GameStarted at the end of startGame

3. Emit GameEnded when gameOver is set to true in makeMove

Add event logging
0%
0 of 10 requirements passed.
Requirements:
Declares GameStarted event
GameStarted has indexed playerX
GameStarted has indexed playerO
GameStarted has stake parameter
Declares GameEnded event
GameEnded has indexed winner
GameEnded has isDraw parameter
Emits GameStarted with state values
Emits GameEnded for wins
Emits GameEnded for draws