Ethereum(イーサリウム)をMacにインストールして、ローカルのプライベートネットワークでマイニングまでやってみた。
最近話題のブロックチェーン、暗号通貨。
興味が出てきて、自分でGPUマイニングはしてみたのですが、まだいまいちブロックチェーンのことを理解していない気がする。。。
実際に触ってみないと理解できないですよね〜、ということでやってみました。
今回は、EthereumをMacにインストールして、Mac内(ローカル)のプライベートなEthereumを使えるようにして、ローカル内でマイニングをするってところまでやってみます。
まずEthereumを(イーサリウム)インストールしたいのですが、homebrewの公式リポジトリにないので、
Ethereum(イーサリウム)のリポジトリをbrewコマンドでインストールできるようにします。
ターミナルをひらいて、下記コマンドを実行。
brew tap ethereum/ethereum
brew tapでethereum(イーサリウム)がbrewでインストールできるようになったので、実際にインストール!!
brew install ethereum
下記のコマンドを叩いて、helpがダーッと出たら、インストール成功しています。
geth help
※ brew tapについては以下参照
http://tukaikta.blog135.fc2.com/blog-entry-204.html
次に、任意の場所に、フォルダを作ります。
mkdir eth_test
自分の場合は、
/Users/hiroki/eth_test
にしました。
次に設定のファイルを作ります。
vim /Users/hiroki/git/eth_test/genesis.json
{ "config" : {}, "nonce" : "0x0000000000000042", "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "difficulty" : "0x200", "coinbase" : "0x0000000000000000000000000000000000000000", "timestamp" : "0x0", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "gasLimit" : "0x8000000", "alloc" : {} }
※数値は任意で。。
ブロックチェーン情報をgenesisファイルの内容で初期化
geth --datadir /Users/hiroki/eth_test init /Users/hiroki/eth_test/genesis.json
プライベートネットワークに接続
geth --networkid "10" --nodiscover --datadir "/Users/hiroki/eth_test" console 2>> /Users/hiroki/eth_test/geth_err.log
すると、以下の画像みたいに、Welcomeと出たら成功です!わーい!
Welcome to the Geth JavaScript console! instance: Geth/v1.7.0-stable-6c6c7b2a/darwin-amd64/go1.9 modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
これはGethというもので、コマンドでEthereumをいろいろ操作できます。
今回は、プライベートなEthereumをGethでいじっていきます。
まずは、アカウントの作成をします。()内は、パスフレーズです。
personal.newAccount("passwd0”)
アカウント確認は以下でできます。
eth.accounts
下記でマイナーのアカウントを確認できます。
eth.coinbase
これで、マイナーアカウントの変更
miner.setEtherbase(eth.accounts[1])
マイニング開始
miner.start(1)
miner.startをしてもnullとでるけど、問題ないらしいです。
eth.hashrate
でハッシュレイト確認すると、数字がどんどん上がっているのがわかると思います。
そして、どのくらい掘れているのかは、以下のコマンドで確認
eth.getBalance(eth.accounts[0])
ちょっと0が多いので、以下のコマンドでEthereumの単位で表示
web3.fromWei(eth.getBalance(eth.accounts[0]), "ether")
0以上の数字が帰ってきたら、マイニング成功です。その数自分のイーサが掘れてます。
放置しておくとPCがどんどん計算を続けて熱くなってくるので、
miner.stop(0)
で止めましょう
miner.stop()してもハッシュレートは0にならない時があります。
おかしいなとおもったけど、0になるまでには少し時間がかかるみたいです。
これで、EthereumをMacに落として、gethを起動、アカウントを作って、マイニングをしてみる。 まででした。
次は、EthereumのWalletでもつくってみようかな。
参考
http://www.ethdocs.org/en/latest/
https://book.ethereum-jp.net/
ディスカッション
コメント一覧
まだ、コメントがありません