[Solidity] 기본 문법(1)

zzase·2022년 2월 1일
0

Solidity

목록 보기
4/6
post-thumbnail

1. License & Version 설정

솔리티디는 코드작성 시 제일 상단 선언부에 라이센스와 언어의 버전을 설정해야 한다.

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0; // 0.7.0~0.9.0 사이의 버전을 사용
//pragma solidity ^0.8.6 = 특정 버전(0.8.6) 지정 사용코드를 입력하세요

2. Contract 생성

솔리디티의 컨트랙트는 자바의 클래스와 비슷한 역할을 한다.
하나의 코드 파일에는 하나의 컨트랙트만 선언한다.

pragma solidity ^0.4.19;

contract ZombieFactory {
}

3. 자료형

  • uint : 부호가 없는 정수형 (음수 x) -> uint8, uint16,uint32 과 같이 비트제한 가능, 제한 없으면 256비트
  • int : 정수형 -> int와 마찬가지로 비트제한이 가능하며 없으면 256비트
  • bool : 논리 자료형
  • string : UTF-8 인코딩 문자열
  • bytes : 바이트
  • address : 이더리움 주소 값 (0xaDc7192A0…)

4. 수학연산

  • 다른 언어와 마찬가지로 기본 연산에 지수 연산까지 지원
uint x = 5 ** 2; // = 5^2 = 25

5. 구조체와 배열

struct Person {
  uint age;
  string name;
}

// 2개의 원소를 담을 수 있는 고정 길이의 배열:
uint[2] fixedArray;
// 또다른 고정 배열으로 5개의 스트링을 담을 수 있다:
string[5] stringArray;
// 동적 배열은 고정된 크기가 없으며 계속 크기가 커질 수 있다:
uint[] dynamicArray;

Person[] people; // 구조체인 Person타입의 동적배열 생성

6. public 배열

배열을 public으로 선언하면 solidity는 getter 매소드를 자동적으로 생성하여 다른 컨트랙트들이 배열을 읽을 수 있게 해줌(수정은 불가)

Person[] public people;
profile
블록체인 백엔드 개발자

0개의 댓글