・Install Ethereum Mist Wallet
Ethereum公式のMist Walletを下記のURLからダウンロードします。このwallet上では、テストネットワークを用いてコンストラクト等のテストが行えるため、今回はまずはこのwalletを用います。
https://github.com/ethereum/mist/releases
・Install Geth
また、CUIからethereumクライアントで取引を行うために、ethereumクライアントの一つの"geth"をインストールします。Gethはプログラミング言語Goにより実装されたCUIクライアントです。下記コマンドでインストールします。
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
・Install Browser-solidity
エディタとしては、Browser-solidityを用います。下記URLを参考に使用してください。
http://qiita.com/Y-Mukoyama/items/c00dd5d2f238309f4bba
・Install Solc
そして、ethereumのコントラクト用のプログラミング言語である"Solidity"のコンパイラ"solc"をインストールします。
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc
・Install Truffle
また、今後の開発のたえに、"Truffle"をインストールします。(簡単なプログラムだけなら、Browser-solidityで充分です。)TruffleはConsensysが開発したパブリック・プライベートEthereumのSmartContract開発フレームワークです。フロントエンド開発からMainNet Deployまでスムーズに開発できるのが特徴です。まずは、node.jsの環境をURLに従いインストールします。
sudo apt-get install -y nodejs npm
sudo npm cache clean
sudo npm install n -g
sudo n stable
sudo ln -sf /usr/local/bin/node /usr/bin/node
sudo apt-get purge -y nodejs npm
http://qiita.com/seibe/items/36cef7df85fe2cefa3ea
次にTruffleをインストールします。
sudo npm install -g ethereumjs-testrpc
sudo npm install -g truffle
・Test Contract with Mist
これで、環境は整ったので、実際に動かしていきます。
まずは、Ethereum Walletを立ち上げて、GUIからテストネット上で色々と操作をしていきます。
最初の状態だと、etherを所持していないため、何も取引が出来ないので、テストネット上でマイニングをして、etherを稼ぎます。タブの”Develop”から”マイングを始める”をクリックします。テストネット上では、比較的簡単にマイニングが成功すると思いますが、練習の場合はプライベートネットであれば無制限にマイニングすることが出来ます。ただ今回は、分かりやすいGUIで操作したいため、テストネットを用います。
次にContractを作成し、実際にプログラムを試します。
-------------------------------------------------------------------
pragma solidity 0.4.11;
contract MyContract{
address creator;
function MyContract(){
creator = msg.sender;
}
function getCreator() constant returns(address){
return creator;
}
function kill(){
if(msg.sender == creator){
suicide(creator);
}
}
}
------------------------------------------------------------------------
・Simple wallet (with Truffle)
まずは、Tuffleフレームワークでプロジェクトを作成します。
mkdir myproject
cd myproject
truffle init