멋쟁이사자처럼 블록체인 8주차 2화

이정호·2023년 5월 2일
0

blockchain-class

목록 보기
26/35

머클루트 생성해보기... + path 제공까지

// SPDX-License-Identifier: GPL-3.0

pragma solidity ^0.8.18;

contract StoreandReturn {
    uint a; //숫자형 변수 a
    uint b; //숫자형 변수 b
    uint c=2; // 숫자형 변수 c, 값은 2

    // 함수이고, 이름은 getA, input값은 없음, public 하고 view 함, output 값은 1개 있음, uint 형임
    function getA() public view returns(uint) {
        return a;
    }

    function setA(uint _a) public {
        a = _a;
    }

    function setAasFive() public {
        a = 5;
    }

    function getB() public view returns(uint) {
        return b;
    }

    function setB(uint _b) public {
        b = _b;
    }

    function setBasSeven() public {
        b=7;
    }

    // 함수, 이름은 getAB, input 없음, public하고 view 함, output 값은 2개, 둘 다 uint형
    function getAB() public view returns(uint, uint) {
        return (a, b);
    }

    function getABC() public view returns(uint, uint, uint) {
        return (a,b,c);
    }

    /*
    view와 pure 함수는 state variable(상태변수)의 값을 변화시키지는 않음 -> gas비 안씀
    */
    // 숫자 _aa와 _bb를 받아서 이 2개의 숫자를 더한 결과값을 반환하는 함수 Add를 구현하세요
    function Add(uint _aa, uint _bb) public pure/*상태변수는 하나도 필요없을 때 pure*/ returns(uint) {
        return _aa+_bb;
    }

    // 숫자 a와 b를 갖고와서 이 2개의 숫자를 더한 결과값을 반환하는 함수 Add2를 구현하세요
    function Add2() public view/*상태변수를 갖고오기 때문에 view로로*/ returns(uint) {
        return a+b;
    }
}
  • pure를 쓰는이유: 상태변수 수정도 없고, 읽는것도 없어서.
profile
블록체인 프론트엔드 개발자 입니다.

0개의 댓글

관련 채용 정보