본문 바로가기

솔리디티23

레슨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.
레슨1 챕터2 - 사용할 버전 명시, 컨트랙트 pragma 솔리디티는 해당 소스코드를 어떤 버전을 사용할 것인지 정해주는것. 버전 차이로 인해 컴파일러에 문제가 생기는 것을 방지할 수 있음 pragma solidity ^버전; // 또는 pragma solidity >=버전 pragma solidity ^0.4.19; contract 모든 변수와 함수는 컨트랙트에 속해야 한다. 컨트랙트는 C++이나 Go 언어의 main과 비슷한 역할을 하는듯 하다. 컨트랙트는 여러개를 사용할 수 있다. 서로 다른 컨트랙트는 서로 연관이 없지만 상속을 통해 A컨트랙트가 B컨트랙트의 함수를 사용할 수 있다. contract 컨트랙트이름 { } contract HelloWorldVision { } 결과 pragma solidity ^0.4.19; contract Zomb.. 2022. 2. 10.