Events는 Smart Contract 상에서 사용자가 알림을 받고 싶은 내용을 등록하는 것이다. 이를 통하여 거래의 생성이나 변경등을 확인(logs를 통해)하고 그에 맞는 행동을 할 수 있게 도와준다.
Event는 Solidity 코드 내에서 event로 정의할 수 있으며, 원하는 코드 위치 내에서 emit을 이용해서 Event 발생시킬 수 있다.
Log로 보여주고 싶은 데이터를 지정하여 외부 서비스에서 조회가 가능하다.
Event는 code상에서 확인이 가능하지만 실제로 블록체인 상에서 확인 할 때는 해당 Transaction의 Receipt을 보면 logs로 전체 Event 발생 내역을 확인할 수 있다.
조회 등록 시에 어떤 방식으로 했느냐에 따라서 출력의 결과도 달라진다. Logs로 조회 하는 경우 Receipt에서 Logs 중 Filter한 결과값만 조회된다.
조회 등록 시에 어떤 방식으로 했느냐에 따라서 출력의 결과도 달라진다. Contract상의 Event를 등록하는 Contract.events.<Event명>으로 하면 해당 Event의 정보가 ABI와 매칭되어 나온다.
Etherscan Explorer에서는 해당 Transaction에서 발생한 모든 Logs를 확인할 수 있다.