상세 컨텐츠

본문 제목

솔리디티 강좌 13강 event 1- 정의

솔리디티 깨부수기 - 기본

by D_One 2021. 9. 12. 21:04

본문

 

안녕하세요 

 

오늘은 event에 대해서 알아 보겠습니다.

 

event 라는 것은 블록체인 네트워크의  블록에 특정값을 기록하는 것을 말합니다.

 

예를들어서, 송금하기 라는 함수가 있다고 가정하였을때, 송금하기 버튼을 누르면, 

누른 사람의 계좌와 금액이 이벤트로 출력이 되어서 블록체인 네트워크 안에 기록이 된답니다. 

 

이렇게 로그를 사용하여, 블록에 각인시키는것은  일반적으로 string 이나 다른 값들을 스마트컨트랙에 저장하는것보다 효율 적입니다.

 

그러면 인제 정의를 해보겠습니다.

// SPDX-License-Identifier: MIT

pragma solidity >=0.8.0 <0.9.0;

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

}

위에 보시는 바와 매우 간단해요.

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

 

자 그러면  이걸 어떻게 출력하는지 볼게요.

// SPDX-License-Identifier: MIT

pragma solidity >=0.8.0 <0.9.0;

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

sendMoney 함수를 보시면 emit을 통해서 이벤트를 출력하는걸 알 수가있습니다.

즉 emit 이벤트이름 (이벤트 파라메터 값넣어주기) 

info 라는 이벤트는 string 과 uint256 을 받아서 위에 보시는 바와 같이 넣어 주었답니다.

 

자 인제 이걸 한번 실행 해볼게요.

 

저희는 logs 부분에 저희의 info 이벤트가 잘 나왔음을 확인 할 수 있습니다.

즉, 블록 안에 저희 이벤트가 저장이 된것입니다.

 

저희는 블록안에 저장이 되었기에 언제든지 들고 와서 쓸 수 있습니다. 

 

꼭 영상 참고 부탁드립니다.

관련글 더보기