일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- web3
- Web
- 이더리움
- 서비스체인
- 블록체인
- web3.js
- Klaytn
- Klaytn API Service
- blockchain
- ethereum
- API
- vue.js
- 프론트엔드
- Solidity
- vue
- 블록체인 구조와 이론
- 접근제어자
- frontend
- 앵커링
- 프레임워크
- 웹
- geth구현
- 클레이튼
- javascript
- 솔리디티
- Geth
- kas
- nodejs
- 제어자
- SCN
Archives
- Today
- Total
BloCCat
solidity 기초 (1) 본문
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 생성 = java의 class 생성과 유사
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 배열
Person[] public people;
배열을 public으로 선언하면 solidity는 getter 매소드를 자동적으로 생성하여 다른 컨트랙트들이 배열을 읽을 수 있게 해줌(수정은 불가)
'Study > Solidity' 카테고리의 다른 글
효율적인 Contract 작성법 (1) (0) | 2021.08.29 |
---|---|
Ownable.sol (0) | 2021.08.29 |
solidity 기초 (3) (0) | 2021.08.29 |
solidity 기초(2) (0) | 2021.08.29 |
Soilidity란? (0) | 2021.08.29 |