본문 바로가기

전체 글71

레슨1 챕터10 - 함수 제어자 함수선언에 public / private 처럼 추가로 넣을 수 있는 함수 제어자라는것이 있다 함수제어자는 view와 pure, modifier가 있다 함수 내에서 실행하는것들이 어떤 값을 변경시키지 않는 경우에 view로 선언하고 함수가 매개변수로 받은 값 외에는 어떤 데이터에도 접근하지 않는 것은 pure로 선언한다. string 인사 = "안녕?"; function 인사해() public view returns (string) { return 인사; } 위와 같은 함수는 함수밖의 데이터에 접근은 하지만 그 값을 변경시키지는 않는다. 그래서 view함수로 선언할 수 있다. function _계산좀하자(uint a, uint b) private pure returns (uint) { return a * .. 2022. 2. 11.
JS로 naive coin 뜯어보고 브라우저로 띄워보기 TS로 된 나이브코인을 JS로 바꾸어 pow의 작동방식이 어떻게 돌아가는지 구조를 알아보고 실제로 돌아가는 것을 브라우저로 테스트 해 보았다 https://github.com/KimchiChamchi/blockchainPJ_2201.git 2022. 2. 10.
레슨1 챕터9 - 함수 접근 제어자 (private, pubilc, internal, external) 함수에 private 이나 public을 붙임에 따라 함수 사용(접근)에 제한을 줄 수 있다. 기본적으로 아무것도 안쓰면 public이다 public 다른 컨트랙트에서도 호출할 수 있게 된다 private 해당 함수가 속해있는 컨트랙트에서만 호출할 수 있고 다른 컨트랙트에서는 사용할 수 없다. internal 해당 함수가 속한 컨트랙트와 해당 컨트랙트를 상속받는 컨트랙트에서만 사용할 수 있고 그외의 상속받지 않은 다른 컨트랙트에서는 사용할 수 없다. external 함수가 있는 컨트랙트 내부에서는 사용할 수 없고 다른 컨트랙트에서만 사용할 수 있다. 답 기존 함수 function createZombie(string _name, uint _dna) { zombies.push(Zombie(_name, _dn.. 2022. 2. 10.
구조체 (struct) 구조체 아래처럼 구조체 이름과 안에 들어갈 변수를 선언해준다 struct 닝겐 { uint 나이; string 이름; } struct Person { uint age; string name; } 구조체를 이용하여 변수나 배열을 만들 수 있다. // 나이는 133세, 이름은 '김첨지' 라는 Person구조체 형태의 김첨지라는 변수 생성 Person 김첨지 = Person(133, "김첨지") // 9살짜리 '코난'을 Person구조체 형태의 탐정이라는 배열에 추가 Person[] 탐정; 탐정.push(Person(9, "코난")); 2022. 2. 10.