ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Modifier & SPDX
    Block-Chain/Solidity 2023. 3. 22. 15:30

    Solidity의 모디파이어와 SPDX에 대해 정리하였습니다.

     

     


    < return 변수 >

    return 부분에 타입뿐만 아니라 변수값도 같이 명시함으로써 추후 변수명을 새로 명시할 필요가 없습니다.

     

    Ex)

    function add1(uint256 _num1, uint256 _num2) public pure returns (uint256){
      uint256 total = _num1 + _num2;
      return total;
    }
    
    function add2(uint256 _num1, uint256 _num2) public pure returns (uint256 total){
      total = _num1 + _num2;
      return total;
    }

     

     


    < modifier >

    여러 함수에 반복적으로 쓰이는 코드를 줄이기 위해 사용합니다. express의 미들웨어와 비슷한 역할(개념)을 가지고 있습니다.

     

    • 형태
    // 파라미터 값이 없는 경우
    modifier 모디파이어명 {
      // 반복되는 코드
      _;
    }
    
    // 파라미터 값이 있는 경우
    modifier 모디파이어명(파라미터) {
      // 반복되는 코드
      _;
    }

    _; 부분에 함수를 실행합니다.

     

    Ex)

    modifier onlyAdults {
      revert("You are not allowed to pay for the cigarette");
      _;
    }
    
    function BuyCigarette() public onlyAdults returns(string memory) {
      return "Your payment is succeeded";
    }

     

     


    < SPDX 라이센스 >

    솔리디티 문서에 의하면, 저작권과 괕은 문제를 해소하기 위해 솔리디티 프로그램 최상단에 SPDX라이센스를 표기해야 한다고 요구하고있습니다.

    하지만 컴파일러는 SPDX라이센스를 확인하기 않으므로 명시하지 않거나, // SPDX-License-Identifier: UNLICENSED 와 같이 작성하여도 컴파일에는 문제가 없습니다.

     

    Ex)

    // SPDX-License-Identifier: GPL-3.0
    
    ~
    ~
    ~

     

     


    < 주석 >

    주석은 코드에 사람이 읽을 수 있는 부연설명을 붙일 때 사용됩니다. 주석을 코드실행시 무시됩니다.

     

    • 행단위 : //
    • 블럭단위 : /* */

     

     

     

     

     

    'Block-Chain > Solidity' 카테고리의 다른 글

    Enum & Interface & Library & Import  (0) 2023.04.24
    Send Ethereum  (0) 2023.04.04
    에러 핸들러  (0) 2023.03.07
    조건문 & 반복문  (0) 2023.02.15
    Mapping & Array & struct(구조체)  (0) 2023.01.16

    댓글

Designed by Tistory.