반응형
솔리디티에는 print가 없고 대신 이벤트를 통해서 값을 출력할 수 있다.
이벤트로 값을 출력할 때 값은 블록 안에 저장되고, 이것을 언제든지 꺼내서 쓸 수 있다.
이벤트를 정의하기 위해서는 아래와 같이 사용하면 된다.
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);
}
}
해당 코드에서는 info라는 이벤트를 생성했고 string name, uint256 money라는 두 개의 값들을 출력하려고 한다.
그리고 sendMoney라는 돈을 보낼 때 사용하는 함수를 생성했다.
이 함수는 돈을 보냈을 때 누가 보냈는지에 대한 기록을 하기 위해 사용하고 info에 이름과 값을 전달하여 출력하려고 한다.
이 값들이 출력이 되면 블록체인 안에 있는 블록에 저장이 된다.
이 블록이 저장되면 불변하기 때문에 언제든지 꺼내서 쓸 수 있다.
배포를 하고 확인해 보면 logs 값에 KimDaeJin과 1000이 출력되는 것을 확인할 수 있다.
이것은 event info가 블록 안에 각인되었다는 것을 알 수 있다.
→ 따라서 언제든지 이 info의 값들을 가져와서 쓸 수 있다.
반응형
'PBL > 솔리디티' 카테고리의 다른 글
상속4 - super, 상속의 순서 (0) | 2024.06.11 |
---|---|
event2 - indexed (0) | 2024.06.04 |
상속3 - 두개 이상 상속하기 (0) | 2024.05.28 |
상속2 - overriding 오버라이딩 (0) | 2024.05.28 |
상속1 - 정의 (0) | 2024.05.22 |