Solidity - Event에 대해서

서기영·2022년 5월 23일

Solidity의 모든 코드들은 컨트랙트를 통해 클라이언트(앱)와 통신한다.
가령 메타마스크를 통해 다른 누군가에게 1 ether를 보낸다고 가정해보자.
이 때, 금액을 전송한는 행위는 '전송'버튼을 누름과 동시에 진행될 것이다.
즉 이 전송 버튼이 눌려졌을 때 컨트랙트의 실행 내용이 일어나는 것이고,
전송버튼은 항상 클라이언트의 요청에 '귀 기울이고 있는' 이벤트에 해당한다고 볼 수 있다.

다음 코드는 크립토좀비의 참고 예시이다.

// 이벤트를 선언
event IntegersAdded(uint x, uint y, uint result);
function add(uint _x, uint _y) public {
uint result = _x + _y;
// 이벤트를 실행하여 앱에게 add 함수가 실행되었음을 알린다:
IntegersAdded(_x, _y, result);
return result;
}

이벤트 발생에 대한 클라이언트 측 결과 :

YourContract.IntegersAdded(function(error, result) {
// 결과와 관련된 행동을 취한다
})

참고자료 : https://cryptozombies.io/ko/lesson/1/chapter/13

profile
진정한 배움은 가르침과 기록을 오가며 실현된다.

0개의 댓글