실습: Ether 수신하기
Ether 를 받는 컨트랙트를 직접 만들어 봅시다. 필요한 도구는 두 가지입니다. 함수가 Ether 를 받으려면
payable 키워드가 있어야 하고, 컨트랙트가 보유한 총 잔액은 address(this).balance 로
읽습니다. 이번 실습에서는 이 둘을 조합해, Ether 를 받아 보관하고 자신의 잔액을 조회할 수 있는
작은 금고(Vault)를 완성합니다.
payable 함수로 들어온 Ether 는 별도 코드 없이 자동으로 컨트랙트 잔액에 더해집니다. 따라서
입금 함수 안에 잔액을 더하는 코드를 직접 쓸 필요는 없습니다. 잔액 숫자는 EVM 이 알아서 갱신해 주므로,
그 값을 address(this).balance 로 읽어 반환하기만 하면 됩니다.
해야 할 일:
Vault컨트랙트를 선언하세요.deposit이라는 이름의payable함수를 만들어 Ether 를 받을 수 있게 하세요.getBalance함수를 만들어 컨트랙트 자신의 잔액(address(this).balance)을uint256으로 반환하세요.
getBalance 는 상태를 바꾸지 않고 값만 읽으므로 view 함수로 선언하는 것이 자연스럽습니다.
완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.