728x90
반응형
SMALL
솔리디티의 이벤트는 스마트 컨트랙트에서 특정 조건이 충족될 때 외부에 알림을 보내는 메커니즘입니다. 이벤트는 컨트랙트의 상태 변화를 감지하거나, 특정 연산의 결과를 로깅하는 데 사용됩니다. 이 글에서는 이벤트의 선언 및 발생 방법에 대해 알아봅시다.
이벤트 선언
이벤트는 event 키워드를 사용하여 선언하며, 이벤트가 발생할 때 전달하려는 데이터의 타입과 이름을 명시합니다.
pragma solidity ^0.8.0;
contract EventDeclarationExample {
event ValueChanged(address indexed author, uint oldValue, uint newValue);
}
이벤트 발생
이벤트를 발생시키려면 emit 키워드를 사용하고, 이벤트에 전달하려는 값을 명시합니다.
pragma solidity ^0.8.0;
contract EventEmitExample {
uint public value;
event ValueChanged(address indexed author, uint oldValue, uint newValue);
function setValue(uint _value) public {
uint oldValue = value;
value = _value;
emit ValueChanged(msg.sender, oldValue, _value);
}
}
이벤트의 인덱싱
이벤트의 매개변수를 인덱스화하면, 이벤트를 필터링하거나 검색하는 데 사용할 수 있습니다. 인덱스화된 매개변수는 indexed 키워드를 사용하여 선언합니다.
pragma solidity ^0.8.0;
contract EventIndexingExample {
event ValueChanged(address indexed author, uint indexed oldValue, uint newValue);
}
728x90
반응형
LIST
'블록체인 (Block Chain) > 이더리움' 카테고리의 다른 글
브라우니 (Brownie) (0) | 2023.06.16 |
---|---|
[솔리디티 입문] 9. 조건문 (1) | 2023.06.16 |
[솔리디티 입문] 7. 변수 선언, 초기화 및 할당 (0) | 2023.06.16 |
[솔리디티 입문] 6. 함수 제어자 (0) | 2023.06.16 |
[솔리디티 입문] 5. 함수 (0) | 2023.06.16 |