[이더리움 개발] 솔리디티로 DApp 개발하기
kr·@urobotics·
0.000 HBD[이더리움 개발] 솔리디티로 DApp 개발하기
우리도 보기만 하지 말고 이더리움으로 직접 뭔가 만들 수 있을까요? 한 번 해봅시다. Remix라는 툴이 있는데요. 솔리디티라는 언어를 사용한 통합개발환경입니다. 이더리움 컴파일러라고 생각하시면 됩니다. 이걸 사용하면 이더리움으로 DApp도 만들 수 있고 독자적인 이더리움 메인넷을 가진 블록체인도 만들 수 있습니다. 저는 아직 간단한 방법밖에 몰라서 그걸 알려드리려고 합니다. 1. 일단 remix 사이트를 방문하세요. http://remix.ethereum.org/ 이더리움 Remix는 이더리움 컴파일러 라고 보시면 됩니다. 예제 소스1. pragma solidity ^0.4.0; contract SimpleStorage { uint storedData; function set(uint x){ storedData = x; } function get() returns (uint retVal){ return storedData; } } 예제2. pragma solidity ^0.4.0; contract kisacoin { mapping(address => uint) public balances; uint KISA_PER_WEI = 50000000000000000; function buyCoin(){ balances[msg.sender] += msg.value/KISA_PER_WEI; if(!msg.sender.send(msg.value % KISA_PER_WEI)) throw; } function sellCoin(uint amount){ if(balances[msg.sender] >= amount){ balances[msg.sender] -=amount; if(!msg.sender.send(amount*KISA_PER_WEI)){ throw; } } } function showMyCoin() returns(uint amount){ return balances[msg.sender]; } } 예제3. pragma solidity ^0.4.0; contract EscrowPurchase{ enum ItemState{ CREATED, LOCKED, SENT, COMPLETED} uint public price; address public seller; address public buyer; ItemState public state; function registerItem(uint amount){ seller = msg.sender; value = amount; state = State.Created; } function buyItem(){} function sendItem(){} function receiveItem(){} } 아직까지 설명할 수 있는 실력은 되지 않아서 소스를 보면서 한 번 생각해보세요. 그리고 좀 더 해보시고 싶은 분들을 위해서 참고 사이트를 알려드립니다. 참조 : 솔리디티 예제들이 있는 곳 https://github.com/topchaebol/solidity-baby-steps 감사합니다.