Notice
Recent Posts
Recent Comments
관리 메뉴

즐겁게, 코드

솔리디티 - 03. 이벤트 본문

💬 언어/Solidity

솔리디티 - 03. 이벤트

Chamming2 2021. 4. 16. 14:01

솔리디티는 DAPP(탈중앙화 어플리케이션)의 로직을 담당하는데요, 어떻게 트랜잭션 내역과 계약 내용을 화면에 보여줄까요?

맞습니다! 바로 프론트엔드단이 별도로 필요한데요, 프론트엔드에 데이터를 넘겨주기 위해 이벤트를 활용합니다. 

 

이벤트는 event 키워드로 선언할 수 있으며, 이벤트는 자바의 인터페이스처럼 본문을 구현하지 않습니다.

[솔리디티 예시 코드]

// onNewTransaction 이라는 이벤트를 정의합니다.
event onNewTransaction(uint id, uint data);

function add(uint id,  uint data) public returns (uint) {
    // add 함수가 실행되면 onNewTransaction 이벤트가 호출됩니다.
    onNewTransaction(error, result);
    return data;
}

[프론트엔드 예시 코드]

Contract.onNewTransaction((err, res) => {
    console.log(res.id, res.data);
})

즉 솔리디티에서는 이벤트를 전달하는 상황과 이벤트(인터페이스)를 정의하고, 프론트엔드에서는 socket.io의 이벤트를 처리하는 것처럼 해당 이벤트에 대한 콜백 코드를 작성하면 됩니다.

반응형
Comments
소소한 팁 : 광고를 눌러주시면, 제가 뮤지컬을 마음껏 보러다닐 수 있어요!
와!! 바로 눌러야겠네요! 😆