페이지 4: 오류 처리, 이벤트 및 보안 기초

4. 오류 처리, 이벤트 및 보안 기초

스마트 계약은 일단 배포되면 수정할 수 없으므로, 강력한 오류 처리와 초기부터 고려된 보안이 필수적입니다.

4.1. 오류 처리 (require, revert, assert)

4.2. 이벤트 (Events)

이벤트는 블록체인에 로그 형태로 데이터를 기록하며, DApp의 프론트엔드가 계약 상태 변경을 수신할 수 있도록 합니다. 이는 가스 효율적인 방법입니다.

event ValueChanged(address indexed user, uint256 newValue); 

function updateValue(uint256 x) public {
// ... 로직 ...
emit ValueChanged(msg.sender, x);
}

4.3. 기초 보안 패턴: Reentrancy 방지

외부 호출과 관련된 가장 위험한 취약점 중 하나는 재진입 공격(Reentrancy Attack)입니다. 이를 방지하기 위해 'Checks-Effects-Interactions' 패턴을 사용해야 합니다.