Ethereumをインストールしてみた。

bitcoinが動いたので次はEthereumをうごかします。
とりあえずいろいろ動かして適当に遊んでから考えることにしましょう。


最初bitcoinと同じくAmazonLinuxにビルドしようとしていろいろがんばったあげく結局ビルドできなかったのでaptでインストールできるUbuntsで行きます。
#現状はまだとりあえず動かすことを優先ということで。

適当にうぶんつを作って以下コマンドを打つ

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get install ethereum

非常にあっさり入りました。僕の数時間を返してほしくなります。。。。

n$ ls /usr/bin/geth
/usr/bin/geth

入ってますね。これでEthereumに参加して採掘、送金、スマートコントラクトの生成、トランザクションの生成が可能になります。

さてテストネットに繋いでみましょう。
データディレクトリが必要なので[/home/gara/eth_data]などを適当に作ってそのディレクトリを指定して起動します。
「--networkid」を指定するとその番号のテストネットワークが作れます。同時に複数個テストネットワークが存在するようなこともできるということでしょうか。最後に掘削がしやすいように暗号化モードを簡易な「olympic」にしておきます。

geth --networkid "10" --datadir "/home/gara/eth_data" --logfile "/home/gara/geth_01.log" --olympic console
instance: Geth/v1.4.0-unstable/linux/go1.5.1
 datadir: /home/gara/eth_data
coinbase: null
at block: 0 (Thu, 01 Jan 1970 09:00:00 JST)
modules: admin:1.0 db:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 shh:1.0 txpool:1.0 web3:1.0
>

最後にconsoleと打っているので対話モードに入っていて「>」と出ているのがわかります。
本来はデーモンとして起動して呼び出すのが普通だと思いますが、勉強するにはコンソールのほうがわかりやすくてよさげ

さてpersonal.newAccountコマンドでアカウント作ります。今回は2つ作ります。引数はパスワードで忘れると復旧できなくなるのできをつけましょう。

> personal.newAccount("GARAPON01")
"0x11b00fff3570ac74d66192ffc18d3621b0b3dc4e"
> personal.newAccount("GARAPON02")
"0xcf573ec35da6c35ded1a5416461de11bec0c89c0"
> the.accounts
> eth.accounts
["0x11b00fff3570ac74d66192ffc18d3621b0b3dc4e", "0xcf573ec35da6c35ded1a5416461de11bec0c89c0"]

ちなみに採掘を行うと一番最初に作ったアカウントに採掘したコインが割り振られます(これをcoinbaseとよびます)

さて採掘。

> miner.start()   採掘開始
true
> eth.blockNumber  採掘数の確認
0
> eth.blockNumber
4
> miner.hashrate   採掘スピードの確認
87612
> eth.blockNumber
10
> eth.blockNumber
18
> miner.stop()   採掘停止
true
>

ものの数分で18個も掘れました。
さてほれたので報酬を確認しましょう。

> eth.getBalance(0x11b00fff3570ac74d66192ffc18d3621b0b3dc4e)
invalid address
> eth.getBalance("0x11b00fff3570ac74d66192ffc18d3621b0b3dc4e")
33000000000000000000
> web3.fromWei(eth.getBalance(eth.accounts[0]),"ether")
33

33コインもらえました!


テストモードで掘っているとほんと楽勝に思えて早速明日にも会社辞めて炭鉱夫になろうかと思い増すが実際のノードだとまったく持って掘れません。
おとなしくモンハンXでお守りでも掘っていたほうが賢明ですね。

明日は送金してみます。