[이더리움 개발] 솔리디티로 DApp 개발하기

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@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

감사합니다.
👍 , ,