前回の記事では、Gethというイーサリアムプロコトルをインストールしテストネットワークで起動させることができました。
今回は、これまでの延長線上でマイニングを実際におこなってみたいと思います。ただ今回対象としているのは、テスト環境でのマイニングなので実際にお金が発生するというわけではありません。
マイニングをしてみよう
トピックとしては、
- アカウントを作成
- マイニングを行う
上記2点を扱います。
アカウントを作成しよう
まずは、前回と同様コンソールを立ち上げましょう。「/Users/***/eth_testnet」のところについては、各自ユーザーアカウントに書き換えて下さい。
#コンソールを起動 $ geth --networkid 4649 --nodiscover --maxpeers 0 --datadir /Users/***/eth_testnet console 2>> /Users/***/eth_testnet/geth.log
それでは、アカウントを作成しましょう。
#アカウントを作成 > personal.newAccount("pass0") "0xcdd483fb9dbedfcf4004b57e55495763aba1e752"
“pass0″の部分は、パスフレーズなので半角英数字記号を使用した任意の文字列を指定できます。本番環境で使用する際には、セキュリティ面を意識して複雑なパスコードにする必要がありますが、今回はテスト環境なので簡単なものにしています。
「”0xcdd483fb9dbedfcf4004b57e55495763aba1e752″」は、アカウントのアドレスです。このアドレス宛に、送金などを行います。
#アカウント作成を確認 > eth.accounts ["0xcdd483fb9dbedfcf4004b57e55495763aba1e752"]
アカウントの確認をしてみましょう。アドレスが表示されていると、これでアカウント作成は完了です。ちなみにアカウントはいくつも作ることができるので、興味がある人は試しに作ってみて下さい。
マイニングをしてみよう
アカウントが問題なく作られたら、次はマイニングを実際に行ってみましょう。
#coinbaseにアカウントが設定されていることを確認 > eth.coinbase "0xcdd483fb9dbedfcf4004b57e55495763aba1e752"
コインベースにアカウントが設定されているか確認してみましょう。そして次に、現在アカウントの残高がどうなっているのか確認しましょう。
#アカウントの残高確認 > eth.getBalance(eth.coinbase) 0 #ブロックチェーンのブロック数も確認 > eth.blockNumber 0
現在の残高は、0になっているはずです。またブロックチェーンのブロック数も0になっていることが確認できると思います。確認ができたところで、マイニングをしてみましょう。
> miner.start(1) null
テストネットワークですが、これでマイニングが始まりました。null値になってますが、気にしなくて大丈夫です。今回は、1という数字を指定して実行しています。指定がない状態でも、マイニングをすることは可能です。
#マイニングが実行されているか確認 > eth.mining true #ハッシュレートを確認 > eth.hashrate 56538 #ブロック高を確認 > eth.blockNumber 506
「eth.mining」コマンドで、Trueと表示されていればマイニングは実行されています。ブロックが生成されたので、マイニングを停止してみましょう。
#マイニングを停止 > miner.stop() true #マイニングの停止確認 > eth.mining false
簡単でしたが、これでマイニングはできています。アカウントの残高がどうなったか確認してみましょう。
#アカウントの残高を確認 > eth.getBalance(eth.coinbase) 2.675000378e+21
先程0だった残高に、数字が記載されていれば問題なくマイニングできています。意外に簡単にマイニングができるということがわかったのではないでしょうか。
おわりに
今回は、マイニングを実際におこなってみました。テストネットワーク環境が構築されていれば、マイニングも簡単に行うことができます。次は、Etherの送金などにチャレンジしてみたいと思います。