실습: 기본 mapping 다루기
주소별 잔액을 관리하는 간단한 장부를 만들어봅시다. mapping 의 가장 기본적인 사용법인
선언 → 쓰기 → 읽기 흐름을 익히는 실습입니다.
"주소마다 잔액"은 key(주소) → value(금액) 구조라서 mapping(address => uint256) 이 딱
맞습니다. 배열 로 만들면 특정 주소의 잔액을 찾기 위해 전체를 훑어야 하지만, mapping 은 key
로 즉시 찾아옵니다.
핵심 문법 복습
- 값 쓰기/누적:
balances[키] += 금액 - 값 읽기:
balances[키] - 저장한 적 없는
key도 기본값0이므로, 첫 입금이0 + amount로 자연스럽게 계산됩니다.
해야 할 일:
Bank컨트랙트 안에 주소를 잔액(uint256)에 연결하는publicmappingbalances를 선언하세요.deposit(uint256 amount)함수를 만들어msg.sender의 잔액에amount를 더하세요.balanceOf(address user)함수를 만들어 해당 주소의 잔액을 반환하세요. (view,returns (uint256))
msg.sender 는 함수를 호출한 주소입니다. 따라서 deposit 은 "호출자 본인의 잔액"을 늘립니다.
완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.