Block-Chain/Solidity
Modifier & SPDX
WebDevLee
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
~
~
~
< 주석 >
주석은 코드에 사람이 읽을 수 있는 부연설명을 붙일 때 사용됩니다. 주석을 코드실행시 무시됩니다.
- 행단위 : //
- 블럭단위 : /* */