PINE64(Ethereumのマイニング(プライベートネット)開始)

さて、クライアントの導入に成功したPINE64上のUbuntuだけど、ここからが問題。

PINE64でマイニングに成功した事例が見つからない(なんか動いてるっぽい、という報告は見つかる)ので、ちゃんと動くかどうかはわからない。

そもそもPINE64で採掘したところで利益が出るもんでもないので、やってる人がいないという話もある。

でも仮想通貨ってどんなもん、という興味があったら導入しようとする過程を楽しめるんで、自分みたいな物好きはぜひやってもらいたいところ。

 

参考にしていたマニュアルは、最初に見ていた日本語翻訳のもの。

 https://book.ethereum-jp.net/first_use/connect_to_private_net.html

初心に返ってみる。

とりあえずはプライベートネットという、テスト用ネットワークで発掘のシミュレーションをしてみることにする。

 

詳しい説明や手順は上記を読んでもらうとして、サクサクと進めます。

プライベートネットで作業するための環境を構築、専用のフォルダ作成。

ubuntuユーザーで作っていたらこうなると思う。
 $ mkdir /home/ubuntu/eth_private_net
 $ cd eth_private_net

ファイル作成。
 $ vi myGenesis.json

次はブロックチェーンの情報を初期化。

jsonファイルの内容はコピペしてきたんだけど、最初どうも失敗したみたいで、次のコマンドでエラーになった。

 $ geth --datadir /home/ubuntu/eth_private_net init /home/ubuntu/eth_private_net/myGenesis.json
Fatal: invalid genesis file: json: cannot unmarshal hex string of odd length into Go value of type hexutil.Bytes

いろいろ検索していたら、どうもバージョンが違う(?)らしい。

他のところを参考にして、内容を変更。これは助かった。

 http://qiita.com/oggata/items/eea4d5e37f38785f6079

下記に変更したらOKだった。

{
"nonce": "0x0000000000000042",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"difficulty": "0x400",
"alloc": {},
"coinbase": "0x3333333333333333333333333333333333333333",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x",
"gasLimit": "0x8000000",
"config": {}
}

ここは試しにやってみて、エラーが出てから修正しても問題なかった。

 

では、いよいよコンソールに入ります。ドキドキ。

 $ geth --networkid "(適当な数字)" --nodiscover --datadir "/home/ubuntu/eth_private_net" console 2>> /home/ubuntu/eth_private_net/geth_err.log

Welcome to the Geth JavaScript console!

instance: Geth/v1.7.0-unstable-d70536b5/linux-arm64/go1.7.4
 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

無事、PINE64から起動することができた。

道のりが長かった(自分がボケてたという話もあるが)もんだから、結構感動。

 

そしてここからが採掘の開始。テストだけど。

でもその前にアカウントの作成。最初は空っぽ。

 > eth.accounts
[]

まず必要なアカウントを二つ作った。簡単にいうと採掘したのを貯める側と、送金側らしい。

 > personal.newAccount("パスワード1")

 > personal.newAccount("パスワード2")

その後はアカウント二つが確認できるようになる。

 > eth.accounts

["0xde7eade5f34be865be95b4345f5e93640960a7ae", "0xc163e77399ddf3e8096d7bb0f78c73e25a8e375d"]

パスワードは再発行できないから絶対忘れちゃいけないけど、上記の長い英数字は忘れても大丈夫。というか覚えられん。

 

アカウントを作ったら、ここからいよいよ採掘の実行。

 > miner.start()
null

ん?null?と思ったけど、自分がインストールしたバージョンはこれが正解だった。

(バージョンによってはtrueになる)

最初は動いてるのかどうか不明。ハッシュレートが0のままだし。

 >  eth.hashrate
0

しばらく放置して、様子を見ることにする。

 

結局のところ、go言語とgethのインストールが終わってしまえばあとは意外と簡単だった。

あとは起動させっぱなしにして、待つしかないので面白くない。

でもこの後の様子をもうちょいメモしておくことにします。

Sponsered Link

コメント