Overview
Launched in 2017, ENS or Ethereum Name Service, became the standard for Ethereum domains. It allows users to register for a .eth
domain and point their domain to their wallet addresses. This eliminates the need to remember complex strings of wallet addresses and gives them a more human-readable counterpart.
For example, sahisen.eth
can be resolved to 0x8D97689C9818892B700e27F316cc3E41e17fBeb9
New ENS Registered
Whenever someone registers for a domain the first time, ENS Registrar Controller emits the NameRegistered
event.
To create our expression, we will need to target two values:
- The ENS Registrar Controller contract address - We'll use the contract address of ENS Registrar Controller deployed on the Ethereum Mainnet. This value gets set as the
tx_logs_address
, as we will be looking for any transactions from this address (the contract). - The event the contract emits when the action we're interested in occurs - In the case of ENS Registrar Controller, it is the
NameRegistered
event (event documentation from ENS). On EVM blockchains, the event is encoded and can be found intx_logs_topic0
. To get the encoded value, you will need to take the event definition (event name and parameters' types), run it through the Keccak-256 hash function, and prefix it with0x
.
NameRegistered(string,bytes32,address,uint256,uint256,uint256)
⬇
69e37f151eb98a09618ddaa80c8cfaf1ce5996867c489f45b555b412271ebf27
⬇
0x69e37f151eb98a09618ddaa80c8cfaf1ce5996867c489f45b555b412271ebf27
Expression
1tx_logs_address == '0x253553366da8546fc250f225fe3d25d0c782303b'2&&3tx_logs_topic0 == '0x69e37f151eb98a09618ddaa80c8cfaf1ce5996867c489f45b555b412271ebf27'