변수
선언
자료형 변수명 데이터
type name = data;
주요 자료형
- 정수형
- int: 부호있는 정수
- uint: 부호없는 정수
- uint는 기본적으로 256비트 자료형으로, 보다 작은 자료형은 uint32, uint64 등으로 선언가능
- bool - true/false
- address(주소형)
- 20바이트 크기의 자료형
- 컨트랙트의 주소를 저장할 때 사용(주소는 40자리의 16진수 정수로 표현)
- string: UTF-8 인코딩 문자열
- bytes 바이트
- enum(열거형) 개발자가 특정값많을 갖는 변수를 만들고 싶을 때 사용
enum authority {student, teacher, admin}
authority a = authority.admin;
- Mapping(key → value) 키:값 구조로 데이터를 저장 시 사용
mapping(uint->address) public wallets;
//key-> uint, value-> address
이런 형태로 접근
wallets[1] = wallet;
msg.sender
모든 함수에서 이용 가능한 전역변수
함수를 호출한 사람의 주소를 가리킨다.
함수
function (<parameter types>) {internal|external} [pure|view|payable]
[returns (<return types>)]
접근제어자
- public : 기본값. 어디에서나 접근 가능
- private : 외부 컨트랙트에서는 함수 접근 불가
- external : 외부 컨트랙트에서만 접근 가능`
- internal : private과 유사. 대산 상속받은 자식 컨트랙트는 함수 접근 가능
제어자
- pure : 변수를 읽지도 쓰지도 않음.
- view : 조회만 가능. 상태 변화 없음.
- payable : 상태변화. 가스 소요.
require({조건})
조건이 참이면 함수 실행, 거짓일 경우 에러 발생
- require(a==b, “a≠b”); 와 같이 조건이 거짓일 때 메세지 작성 가능
event
트랜잭션 내역과 계약 내용을 화면에 표시, 프론트에게 데이터 값을 넘겨주는 것.