___  ___    _ _    _  _ _____   _____
 / __|/ _ \  | | |  | || |_ _\ \ / / __|
| (_ | (_) | |_  _| | __ || | \ V /| _|
 \___|\___/    |_|  |_||_|___| \_/ |___|

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

[몰라도 해보는 cryptoZombie] Lesson4. 좀비 전투 시스템 - 2

BY: @could0222 | CREATED: Aug. 29, 2018, 3:37 p.m. | VOTES: 6 | PAYOUT: $0.04 | [ VOTE ]

[IMAGE: https://ipfs.busy.org/ipfs/QmWbusvcfH7bKXRWn8Y4VT3fZM5Qxip4iMxPqQRqxMgpxc]

https://cryptozombies.io/ko/course

챕터 2: 출금

[IMAGE: https://ipfs.busy.org/ipfs/QmYEXAmx2zzdZF8DnkPiXNNRKqgYhsGs2gkN5xvDok5h2i]

컨트렉트에 들어온 이더를 계좌로 보내는 방법은 transfer함수를 이용하는 것이다. 돈을 보낼 대상을 적고, .transfer(보낼금액)을 적으면 전송된다. 생각보다 엄청 간단하다.

function withdraw() external onlyOwner {
    owner.transfer(this.balance);
}

function setLevelUpFee(uint _fee) external onlyOwner {
    levelupFee = _fee;
}

this.balance는 컨트렉트에 있는 이더 잔액을 의미한다. 그걸 전부 owner의 지갑으로 옮겨담으라는 함수를 만들었고, 레벨업 수수료를 조정하는 함수를 만들었다.
(아무리 생각해도 이런 부분이 Dapp 활성화를 저해하는 요소인 것 같다. 이더 가격의 변동에 따라 게임에 지불해야할 수수료 가격도 변하게되니 그걸 변환하는 함수를 또 짜야한다. 거래소 가격과 연동시켜 특정금액에 해당하는 이더만 차감하게 만들 수도 있지만… 이렇게 가격이 수시로 왔다갔다 하는 암호화폐를 누가 쓰겠는가)

챕터 3: 좀비 전투

[IMAGE: https://ipfs.busy.org/ipfs/QmP67LYFrGb6eLVr8ryLWDd3tT2XXDYx8GqxLTaoTUFZL3]

>간만에 공부한다고 이렇게 복습할 기회도 마련해주다니.. 감동

pragma solidity ^0.4.19;

import "./zombiehelper.sol";

contract ZombieBattle is ZombieHelper {

}

Solidity의 contract를 짜기 위한 기본 세팅이다. 이정도는 간단간단.

ZombieBattle 컨트렉트를 짜면서 난수에 대한 설명이 나오는데.. 이부분은 시간이 오래걸리니 내일로 미룬다.

참고문헌
https://d2fault.github.io/2018/03/19/20180319-about-solidity-1/

코어 이더리움 프로그래밍 – 박재현, 오재훈, 박혜영

TAGS: [ #kr ] [ #kr-dev ] [ #kr-newbie ] [ #jjangjjangman ] [ #busy ]

Replies

@qlfxkdla | Aug. 29, 2018, 11:49 p.m. | Votes: 1 | [ VOTE ]

응원합니당

@could0222 | Aug. 30, 2018, 4:16 p.m. | Votes: 0 | [ VOTE ]

감사합니다 : )

@ldsklee | Aug. 30, 2018, 1:53 p.m. | Votes: 1 | [ VOTE ]

짱짱맨 출석부 호출로 왔습니다.

[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>