솔리디티
-
자료형
uint = 부호없는 정수 = uint256
int = 부호있는 정수
uint8,16,32 등과 같이 더 작게 표현가능
-
수학연산
프로그래밍언어의 연산과같음
+) 지수 연산 가능
uint x = 5 ** 2; // 5의2승 // = 25
-
구조체
구조체를 통해 여러 특성을 가진, 복잡한 자료형 생성가능
struct person{ string name; }
-
배열
정적배열 :
uint[1] array;
string[2] stringarray;
동적배열: uint[] array;
구조체의 배열:
person[] public people;
// public 배열 : getter 메소드 자동생성 - 다른 컨트랙트들이 이 배열을 읽을수 있음(쓸순없음) = 공개 데이터 저장에 유용
-
함수 생성
function func(string _name){ //함수 인자명에 _(언더스코어)로 시작해서 전역변수와 구별하는것이 관례 } |
-
구조체와 배열 활용
Person a = Person("uj"); // 새로운 사람 생성 people.push(a); // a를 배열에 추가함 /// 한줄로 표현 people.push(Person("uj")); |
-
private 함수
function _func(uint _number) private{ // private 는 함수명 다음에 적어줄것 // _함수명 } |
-
함수 반환값
function func() public returns (string) { } |
-
함수 제어자
function func() public view returns (string){ // view - 데이터를 보기만하고 변경하지않음 } function _func1(uint a) private pure returns (uint){ // pure - 어떤 데이터도 접근하지않음 } |
-
keccak256
keccak256("a")
//SHA3의 한버전인 keccak256을 내장해시함수로 가지고있음
// 256비트를 16진수로 매핑함
-
형변환
결과값에 맞추어서 (uint)a 처럼 변환해 주어야함