//Write your own contracts here. Currently compiles using solc v0.4.15+commit.bbb8e64f. pragma solidity ^0.4.18; contract Deposit { using SafeMath for uint256; mapping (address => uint256) balances; uint256 public myBalance_; // callback 함수로서 payable 하여 Account가 ETH 를 전송하면 Contract 에 Deposit 하는 함수 function() public payable { // 전송한 ETH(Wei) 양이 0 보다 커야 하는 조건 // payable 을 통해 받은 ETH(Wei) 를 balances 에 저장 ( 각 account 별로 따로 ) if(msg.value > 0) { balances[address] += msg.value; } } // Doposit 한 Account 가 자신의 Deposit 양을 리턴하는 view 함수 function myBalance() public view returns(uint256) { return balances[address]; } // 모든 Account 가 Deposit 한 총 ETH(Wei)의 양을 리턴하는 view 함수 // this.balance 사용 function totalDepositAmount() public view returns(uint256) { return this.balance; } // 해당 함수를 호출한 Account 의 Deposit ETH(Wei)를 모두 다시 Account 에게 돌려주는 함수 // address.send(value); 함수 사용 function claim() public { // 해당 Account 가 Deposit 한 양이 0 보다 커야하는 조건 if(this.balance > 0) address.send(msg.value); // 이거 맞나..? } }
0.4.18