반응형
증상
인터넷에 돌아다니는 솔리디티 코드를 사용하고 컴파일하다보면 아래와 같은 에러를 자주 만난다.
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는 주어진 인자를 활용하여 스마트 컨트랙트 내부의 변수를 활용할 수 있다.
반응형