목차

반응형

증상

인터넷에 돌아다니는 솔리디티 코드를 사용하고 컴파일하다보면 아래와 같은 에러를 자주 만난다.

 

Desktop\project\token>npx hardhat run ./scripts/deploy.js --network ropsten
Compiling 1 file with 0.8.0
ParserError: Expected '{' but got 'constant'
  --> contracts/HITO.sol:68:35:
   |
68 |     function totalSupply() public constant returns (uint256 supply) {
   |                                   ^^^^^^^^
Error HH600: Compilation failed

For more info go to https://hardhat.org/HH600 or run Hardhat with --show-stack-traces

 

 

원인

constant라는 신택스는 0.5 버전에서 사용 가능하다.

이 이상으로는 pure, view 신택스를 사용해야한다.

 

해결방법

constant라는 단어를 view, pure로 바꿔서 사용하면 된다.

 

참고로 두 modifier는 상태 변경이 일어나지 않기 때문에 가스비를 내지 않는 명령어고

pure는 주어진 인자만으로 처리해야 하는 modifier고 view는 주어진 인자를 활용하여 스마트 컨트랙트 내부의 변수를 활용할 수 있다.

반응형