블록체인 학습
0 XP

실습: 기본 mapping 다루기

주소별 잔액을 관리하는 간단한 장부를 만들어봅시다. mapping 의 가장 기본적인 사용법인 선언 → 쓰기 → 읽기 흐름을 익히는 실습입니다.

"주소마다 잔액"은 key(주소) → value(금액) 구조라서 mapping(address => uint256) 이 딱 맞습니다. 배열 로 만들면 특정 주소의 잔액을 찾기 위해 전체를 훑어야 하지만, mapping 은 key 로 즉시 찾아옵니다.

핵심 문법 복습

  • 값 쓰기/누적: balances[키] += 금액
  • 값 읽기: balances[키]
  • 저장한 적 없는 key 도 기본값 0 이므로, 첫 입금이 0 + amount 로 자연스럽게 계산됩니다.

해야 할 일:

  1. Bank 컨트랙트 안에 주소를 잔액(uint256)에 연결하는 public mapping balances 를 선언하세요.
  2. deposit(uint256 amount) 함수를 만들어 msg.sender 의 잔액에 amount 를 더하세요.
  3. balanceOf(address user) 함수를 만들어 해당 주소의 잔액을 반환하세요. (view, returns (uint256))

msg.sender 는 함수를 호출한 주소입니다. 따라서 deposit 은 "호출자 본인의 잔액"을 늘립니다.

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

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

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