11

Here's a snapshot from etherscan.io

enter image description here

eth
  • 85,679
  • 53
  • 285
  • 406
manidos
  • 4,298
  • 3
  • 31
  • 55

2 Answers2

19

topics[0] is the hash of the signature of the event.

Example from Solidity docs:

keccak256("Deposit(address,bytes32,uint256)") is the signature of the event:

event Deposit(
        address indexed _from,
        bytes32 indexed _id,
        uint _value
    );
eth
  • 85,679
  • 53
  • 285
  • 406
  • this is a keccak_256 hash right? – garg10may Sep 18 '17 at 14:21
  • @garg10may Yes, most Solidity docs have now updated to keccak256. It will take time for other places like answers here to be updated: thanks for pointing this one out. – eth Sep 20 '17 at 09:30
4

Note when applying this for structs, the pattern is to nest the structs in a similar way. So:

keccak256("Deposit(address,bytes32,uint256,(bytes32, bytes32))") is the signature of the event:

struct MoreData
{
        bytes32 id1;
        bytes32 id2;
}

event Deposit(
        address indexed _from,
        bytes32 indexed _id,
        uint _value,
        MoreData _moreData
    );
K S
  • 171
  • 3