공부하자

Solidity 기초 문법 - event 본문

Solidity

Solidity 기초 문법 - event

dev_riley 2022. 4. 1. 00:14

event

블록체인 네트워크의 블록에 특정값을 기록하는 것

정의하는 방법 : event 이벤트 이름(쓰고자 하는 타입과 이름);

contract A{
	event info(string name, uint256 money);
}

 

출력하는 방법 : emit 이벤트 이름(이벤트 파라미터 값 넣어주기);

contract A {
   
    event info(string name, uint256 money);
    
    function sendMoney() public {
        emit info("KimDaeJin", 1000);
    }
}

Remix에서 위의 sendMoney()라는 함수를 실행했을 때, "KimDaeJin"이라는 이름과 1000 이라는 금액이 logs에 info 이벤트가 출력이 되는 것을 확인할 수 있습니다. 즉, 블록체인 네트워크 안에 기록이 남습니다. 이렇게 블록에 각인 시키는 것이 일반적으로 string이나 스마트 컨트랙에 저장하는 것보다 효율적입니다. 그리고 블록안에 이벤트가 저장이 되어 있기 때문에 언제든지 들고 와서 사용할 수 있습니다.

 

indexed

indexed를 사용해서 블록들안에 다양한 이벤트들을 필터링하여 우리가 원하는 이벤트만을 가지고 올 수 있음.

contract A {
    event numberTracker(uint256 indexed num, string str);

    uint256 num =0;
    function PushEvent(string memory _str) public {
        emit numberTracker(num,_str);
        num ++;
    }
}

이벤트 정의 부분에서 원하는 파라미터 값에 indexed만 붙여주면 된다.

 

도움 받은 곳 : https://dayone.tistory.com/

 

My Daily life

 

dayone.tistory.com

개인 공부를 위해 위의 강의를 정리한 내용입니다.

'Solidity' 카테고리의 다른 글

Solidity 기초 문법 - 상속  (0) 2022.03.22
Solidity 기초 문법 - instance  (0) 2022.03.17
Solidity 기초 문법 - function  (0) 2022.03.09
Solidity 기초 문법 - 변수만들기  (0) 2022.03.09
Comments