블록체인 학습
0 XP

실습: setter 함수 작성하기

상태 변수의 값을 바꾸는 함수를 setter 라고 합니다. getter 가 값을 "읽는" 창구라면, setter 는 값을 "쓰는" 창구입니다. 상태를 변경하므로 view 나 pure 를 붙이지 않습니다. 상태를 바꾸는 함수는 블록체인에 트랜잭션으로 기록되고, 그만큼 가스도 듭니다.

setter 는 보통 외부에서 새 값을 매개변수로 받아 상태 변수에 대입하는 형태입니다.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
 
contract NameStore {
    string public name;
 
    // 외부에서 받은 값을 상태 변수에 저장: 상태 변경이므로 키워드 없음
    function setName(string calldata newName) public {
        name = newName;
    }
}

해야 할 일:

  1. Storage 컨트랙트 안에 value 라는 uint256 public 상태 변수를 선언하세요.
  2. setValue 함수를 작성하세요. 이 함수는 uint256 newValue 매개변수를 받습니다.
  3. setValue 안에서 value 에 newValue 를 대입하세요.

상태를 변경하는 함수에는 view·pure 를 붙이면 안 됩니다. public 상태 변수에는 자동 getter 가 생기므로 별도 조회 함수가 필요 없습니다.

완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.

Code Editor
에디터를 불러오는 중...
실행 결과

Run 버튼을 눌러 코드를 실행하세요.