우리도 보기만 하지 말고
이더리움으로 직접 뭔가 만들 수 있을까요?
한 번 해봅시다.
Remix라는 툴이 있는데요.
솔리디티라는 언어를 사용한 통합개발환경입니다.
이더리움 컴파일러라고
생각하시면 됩니다.
이걸 사용하면
이더리움으로 DApp도 만들 수 있고
독자적인 이더리움 메인넷을 가진 블록체인도 만들 수 있습니다.
저는 아직 간단한 방법밖에 몰라서
그걸 알려드리려고 합니다.
- 일단 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
감사합니다.