함수 제어자(function modifier)

ham3798·2023년 2월 1일
0


크립토 좀비 사이트에서 솔리디티 공부중이다.
영어에 취약한 입장에서 이런 사이트가 있어서 좋다.

함수 제어자(function modifier)

private : 컨트랙트 내부
internal : private과 비슷하지만, 해당 컨트랙트를 상속하는 컨트랙트에서도 호출
external : 오직 컨트랙트 외부
public : all

상태 제어자(state modifier)

view : 해당 함수를 실행해도 어떤 데이터도 저장/변경되지 않음
pure : 해당 함수가 어떤 데이터도 블록체인에 저장하지 않을 뿐만 아니라, 블록체인으로부터 어떤 데이터도 읽지 않음
위 둘은 컨트랙트 외부에서 불렸을 때 가스를 전혀 소모하지 않음(하지만 다른 함수에 의해 내부적으로 호출됐을 경우에는 가스를 소모)
사용자 정의 제어자(user defined modifier)

payable 제어자 : 이더를 받을 수 있는 특별한 함수 유형

require()과 assert()

Function Modifier

함수의 동작을 변경시키기 위해 사용
_; == 함수 실행을 기준으로 함수 실행 전 후의 동작을 정의?

Event

contract Faucet is mortal {
   event withdrawal(address indexed to, uint amount);
   event Deposit(address indexed from, uint amount);
}

[출처] solidity event|작성자 풀매수
트랜잭션이 완료되면, 트랜잭션 영수증을 발행함. 트랜잭션 영수증은 트랜잭션의 실행 동안 발생했던 행위에 관한 정보를 제공하는 로그 엔트리들을 갖음. 이벤트는 이러한 로그를 만들기 위해 사용하는 솔리디티의 고수준 객체임. 이벤트는 특히 라이트 클라이언트와 댑들에 유용함. 특정한 이벤트가 일어나는지 감시해서 사용자 인터페이스에 반영하거나 해당 컨트랙트상의 이벤트에 대응되는 벼화를 애플리케이션의 상태에도 반영되도록 할 수 있음.
[출처] solidity event|작성자 풀매수

공부하면서 추가할 예정

profile
내가 만든 쿠키

0개의 댓글