본문 바로가기

전체 글71

컨트랙트 contract contract 모든 변수와 함수는 컨트랙트에 속해야 한다. 컨트랙트는 C++이나 Go 언어의 main과 비슷한 역할을 하는듯 하다. 컨트랙트는 여러개를 사용할 수 있다. 서로 다른 컨트랙트는 서로 연관이 없지만 상속을 통해 A컨트랙트가 B컨트랙트의 함수를 사용할 수 있다. contract 컨트랙트이름 { } contract HelloWorldVision { } 2022. 2. 10.
레슨1 챕터7, 8 - 함수선언, 구조체와 배열 활용 함수선언은 JS와 같은 형식이다 function 함수이름(매개변수) { 무엇을 무엇을 실행할까 적당히 이것을 실행하죠 } 배열에 무언가를 추가하는 방식도 JS와 동일하다 string[] 나는야배열; 나는야배열.push("ㅎㅎ"); 나는야배열.push("깔깔깔"); // 나는야배열의 내용물은 ["ㅎㅎ", "깔깔깔"] 배열을 선언할 때 지정한 자료형(타입)과 들어갈 내용물이 알맞으면 배열에 넣을 수 있음 struct 야채 { string 야채이름; uint 비타민함량; } 야채[] 야채목록; 야채목록.push(야채("감자", 0)); // 또는 야채 고구마 = 야채("고구마", 0); 야채목록.push(고구마) 이와 같이 배열에 구조체를 넣을 수 있다 챕터7 답 // 이름과 DNA를 매개변수(인자)로 받는 .. 2022. 2. 10.
레슨1 챕터5, 6 - 구조체, 배열 구조체 아래처럼 구조체 이름과 안에 들어갈 변수를 선언해준다 struct 닝겐 { uint 나이; string 이름; } struct Person { uint age; string name; } 구조체를 이용하여 변수나 배열을 만들 수 있다. // 나이는 133세, 이름은 '김첨지' 라는 Person구조체 형태의 김첨지라는 변수 생성 Person 김첨지 = Person(133, "김첨지") 이러한 구조체를 가지고 배열로 활용할 것임. 배열 uint[2] fixedArray; // 2개까지 담을 수 있는 정적배열 string[5] public stringArray; // 5개까지 담을 수 있는 public 정적배열 uint[] dynamicArray; // 계속 담을 수 있는 동적배열 상태변수가 블록체인에.. 2022. 2. 10.
레슨1 챕터3 - 상태변수, 정수 상태변수 상태변수는 컨트랙트 안에서 영구적으로 저장된다. 이는 이더리움 블록체인에 기록될 것이다. DB에 데이터를 쓰는것과 같다고 한다. 변수나 함수를 선언할 때 어떤 자료형(타입)이 쓰일것인지 명시해야한다 부호없는 정수(uint) 음수는 사용할 수 없음. uint256으로 256비트의 부호없는 정수이나 생략된것. uint8, uint16, uint32... 등이 있으나 특수한 경우가 아니면 주로 uint를 사용한다. 문자열(string) 말그대로 문자열이 담길 자료형 string 나는문자열 = "깔깔깔"; string Hello = "Kitty"; 답 // uint256 타입의 dnaDigits변수에 16을 저장 uint dnaDigits = 16; 2022. 2. 10.