[Blockchain] solidity 기초 문법

김민지·2022년 10월 10일
0
post-thumbnail

변수

선언

자료형 변수명 데이터
type name = data;

주요 자료형

  1. 정수형
    1. int: 부호있는 정수
    2. uint: 부호없는 정수
    • uint는 기본적으로 256비트 자료형으로, 보다 작은 자료형은 uint32, uint64 등으로 선언가능
  2. bool - true/false
  3. address(주소형)
    • 20바이트 크기의 자료형
    • 컨트랙트의 주소를 저장할 때 사용(주소는 40자리의 16진수 정수로 표현)
  4. string: UTF-8 인코딩 문자열
  5. bytes 바이트
  6. enum(열거형) 개발자가 특정값많을 갖는 변수를 만들고 싶을 때 사용
enum authority {student, teacher, admin}

authority a = authority.admin;
  1. 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

트랜잭션 내역과 계약 내용을 화면에 표시, 프론트에게 데이터 값을 넘겨주는 것.

profile
Studying

0개의 댓글