[Solidity] Events & Conditional statement

Seokhun Yoon·2022년 2월 16일
0
post-thumbnail

1. Events

event를 활용해서 특정 일이 발생했을 때 다른 컨트랙트 또는 디앱 UI와 같은 컨트랙트 클라이언트에게 알려줄 수 있다.

Keywords

  • event : 이벤트를 정의함
  • emit : 이벤트 발생 시점을 지정함
contract SimpleCoin {
  // ...
  
  event Transfer(address indexed from, address indexed to, uint256 amount); // Transfer 이벤트 정의
  
  // ...
  
  function transfer(address _to, uint256 _amount) public {
    // ...
    emit Transfer(msg.sender, _to, _amount); // Transfer 이벤트 발생
  }
}

기록 및 검색

  • 이더리움에서 이벤트는 실시간 알림 목적뿐만 아니라 장기적으로 로깅하는 목적으로도 사용한다.
  • 이벤트는 블록체인의 트랜잭션 로그에 기록되며 나중에 분석을 위해 검색할 수 있다.
  • 빠른 검색을 위해 indexed를 통해 정의한 키로 색인화 한다.
  • 키는 복합 유형이어도 되며 최대 3개의 입력 매개변수를 포함한다.
event Transfer(address indexed from, address indexed to, uint256 amount); // indexed를 활용하여 from과 to 를 검색 키로 설정

2. Conditional statements

솔리디티는 C언어 유형에서 제공하는 기본적인 조건문들을 모두 지원한다.

솔리디티에서 사용 가능한 조건문

  • if ... else
  • while
  • do ... while
  • for

Loopcontinuebreak 문을 모두 지원한다.

profile
블록체인 개발자를 꿈꾸다

0개의 댓글