선생님, 개발을 잘하고 싶어요.

이더리움 레슨 1 정리 본문

카테고리 없음

이더리움 레슨 1 정리

알고싶은 승민 2018. 9. 13. 23:41

참고 강좌 : https://cryptozombies.io/ko/


좀비 데이터베이스

좀비를 생성하는 함수

각 좀비는 랜덤하고 독특한 외모 -> 좀비 DNA(16자리 정수)로 결정


컨트랙트

 - 이더리움 어플리케이션의 기본적인 구성 요소

 - 변수와 함수는 어느 한 컨트랙트에 포함

 - 프로젝트의 시작 지점

 - contract Name {}


version pragma

 - 코드가 이용하는 솔리디티 버전을 선언

 - 새로운 컴파일러 버전이 나와도 기존코드 운용 가능성

 - pragma solidity <version>


상태 변수

 - 컨트랙트 저장소에 영구적으로 저장

 - 이더리움 블록체인에 기록

 - 데이터베이스에 데이터를 쓰는 것과 동일


 - uint는 uint256 과 동일

 - string은 UTF-8 데이터


배열

 - 정적 배열 (uint[3] -> 크기가 3인 고정 길이의 배열)

 - 동적 배열 (uint[] -> 고정된 크기가 없이 계속 크기가 증가할 수 있는 배열)

 - Public 배열 (uint[] public ints; ->  다른 컨트랙트에서 읽을수 있는 배열, 공개 데이터를 저장할 때 사용)


함수

 - function Name(Parameter pName) {}

 - 기본적으로 public 선언 -> 다른 컨트랙트에서도 호출 가능

 - function _Name(Parameter pName) private {} -> private 함수 (_로 시작하는게 관례)

 - view 함수는 데이터를 변경하지 않는다 (c++의 const 함수와 비슷한 의미인것 같다!)

  - function Name() public view returns (~) {}

 - pure 함수는 어떤 데이터도 접근하지 않는다 (매개변수에만 접근 하는것같아)

  - function Name() public pure returns (~) {} 

 - 솔리디티 컴파일러는 어떤 제어자(view, pure)를 사용할지 경고 메시지를 띄워준다.


# 의사 난수 발생기?


이벤트

 - 컨트랙틑가 블록체인의 사용자 단에서 액션이 발생했을 때 의사소통 하는 방법

 - event EventName(Parameter pName);

 - 사용자 단의 자바스크립트 코드! (Web3.js 라는 자바스크립트 라이브러리를 가지고 있다)

Comments