windows 10 でEthereumのマイニング


Windows 10にインストールしたGethを使ってマイニングを実行してみます。

こういうプライベートネットワーク

 

ブロックチェーンのルールでは
あるノードがマイニングを実行することで、取引を収集してブロックが生成されます。
このマイニングに対して報酬(インセンティブ)が与えられます。
この報酬が仮想通貨であり、ブロックチェーンのネットワークが動き続けるモチベーションとなります。

とはいえ、例えばラズパイのみで構成されたプライベートチェーンの場合、取引を行いたくても現ラズパイでは非力すぎてマイニングを実行できません。
そこで今回のプライベートチェーンでは取引のトランザクションを発行したあるノードのラズパイがマイニングのみ行うために参加しているWindows 10 PCにマイニングの実行をお願いすることにしました(^^)。

つまり、このプライベートネットでのモチベーションは「マイニングで報酬を得る」ことではなく「報酬を与えてマイニングしてもらう」ことです。


まずはWindowsで手動でマイニングを実行してみます。

Windows 10にGethをインストールしてアカウントを作成後、コマンドプロンプトを開いてGethを起動しておきます。

アカウントを作成します。

>personal.newAccount(パスワード)

アドレスが表示されます。こんな感じのものです。

0x6128e3be4b06e4102dc55284e70a89ecc02dd9ba

作成しておいたアカウントは以下で確認できます。

>eth.accounts

例えばこんな感じ。

[“0x6128e3be4b06e4102dc55284e70a89ecc02dd9ba”]

最初に作成されたアカウントがcoinbaseでここに報酬が与えられます(アカウントが複数ある場合はcoinbaseをどれにするか変更できます)。

上記のインストール方法の場合、アカウントの実体はここにあります。

C:\Geth\My_eth_chain\keystore\UTC–xxxxxxx

 

アカウントは基本的にロックされています。アカウントに関連する変更操作や送金などを行いたい場合これを解除します。

>personal.unlockAccount(”アドレス”, ”パスワード”)

or

>personal.unlockAccount(eth.accounts[0])

再度ロックする場合

>personal.lockAccount(eth.accounts[0])

 

マイニングを実行

>miner.start(2)
null

カッコの中の数字はスレッド数で、空白だとCPUを占有してしまいます。状況によって調整します。スレッド数はCPUのコア数内で使用。コア数は以下のDOSコマンドで調べられます。

set NUMBER_OF_PROCESSORS

 

進行状況は以下でチェック

>eth.hashrate

マイニングされている場合は0より大きい整数。

>eth.mining

これがtrueなら実行中。

>eth.blockNumber

これが増えていればOK。

で、1ブロック以上マイニングされれば、トランザクションが実行され取引はブロックチェーンに書き込まれます。

他のノードと接続されていればマイニングの状況が表示されます。

 

マイニングの停止(カッコ内は空白です)。

>miner.stop()

 

 


マイニングが実行されない場合.。

miner.start()を行っても実際にマイニングが始まるまでは少々のタイムラグがあります。

DAGの作成や再作成にかかる時間のようですが、このDAG生成プロセスがログに表示されないこともあります。

感覚的には10~15分ほど待つ感じです。

でもいつまでたっても始まらないことがあります。

eth.miningはtrueなのに

eth.hashrateは0のままで、eth.getBalanceも増えない。

で、対策

Gethをいったん停止。

DAGファイルを削除して再起動します。

これでOKな理由は….まだ分かりません。

DAGファイルはここにあります。

 


Appendix1

Windows側でGethコンソールの外からGethのコマンドを実行

CURLでJSON-RPC API

バッチファイルでマイニングを実行

【start_mining.bat】

バッチファイルでマイニングを停止
【stop_mining.bat】

 


Appendix2

記録データ(今回のインストール方法)の所在

DAG

Windows -> C:\Users\<ユーザー>\AppData\Ethash\full-R23-xxxxxxxxxx

ラズパイ -> /home/pi/My_eth_chain/geth/ethash/cache-R23-xxxxxxxxxx

 

DAGファイルが複数ある件について

 

 

ブロックチェーン

Windows -> C:\Geth\My_eth_chain\geth\chaindata

ラズパイ -> /home/pi/My_eth_chain/geth/chaindata

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*