Ethereumテストネットを立ち上げてetherを掘るまで

Ethereum Frontier Guideより 

参照URL http://ethereum.gitbooks.io/frontier-guide/content/

  • Welcome to the Frontier!!

  • Go-ethereumクライアント(geth)インストール

  省略。cpp-ethereumでも可ですが、以下はgeth前提でやります。   2. コンソールを起動 & テストネット起動

(注意)初期設定でやると、すでにあるブロックチェーンとの同期にすごく時間がかかる。

  練習でやる場合、プライベートのtestnetを立ち上げたほうが良いと思います。(マイニングもし放題なので、すぐ貯まります。もちろんみんなが参加している本番ネットワークでは使用できません。)

consoleとオプションをつけると対話的にコマンド入力できますので便利です。

* 通常
geth console

* テストネットの場合(例)
geth -natspec -networkid "10" --datadir="/tmp/eth/60/01" -logfile /tmp/eth/60/01.log -nat "none" console 

 datadirやlogfileはブロックチェーン保管用なので新しく自分で作りました。  

3.アカウント取得

起動したらコンソールを使えるのでそちらで操作しましょう

[コンソールで使えるコマンド一覧] https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console#admincontractinforegister

> admin.newAccount() //新規アカウント作成
> *アカウント用パスワードを2回入力

> eth.accounts
[〜〜〜〜〜] //[]内は新しく作ったアカウント(アドレスとして使える)

例
> eth.accounts
['0x407d73d8a49eeb85d32cf465507dd71d507100c1']

* 残高確認
>eth.getBalance(eth.coinbase)
または
> eth.getBalance(eth.accounts[0])


output
> '0'

まだ何もないので0が出力されるはず

4.遊ぶためのEtherを掘りましょう!! ether(イーサー)は、Ethereumを動かすための通貨兼燃料です。燃料(Gas)というのは、コントラクトを動かすのに絶対必要なものです。

>admin.miner.start()

Generating DAG というのがしばらく行われたあと、マイニングが開始されます。

Mined block #93 (2511dc43)

トンカチマークとともに"Mined Block"が表示されたら掘れてますので、残高確認すると増えています。

> eth.getBalance(eth.coinbase)
'196359375000000000000'

やったね!

単位はetherではなくWeiですので注意を。 1ether=1018 wei Wei !!!

止めるときは

>admin.miner.stop()

以上でコントラクトを動かす準備はできました。

続く(?)

次はcontractをNode.jsからAPIで動かすとかを書くかも