Ethereumを採掘する

技術メモ

前回からの記事の続き。

実際にEthereumで採掘してみる。

財布の中身を確認

# geth --datadir /root/ethereum/data --networkid 15 console
  :
  :
> function checkAllBalances() {
    var totalBal = 0;
    for (var acctNum in eth.accounts) {
        var acct = eth.accounts[acctNum];
        var acctBal = web3.fromWei(eth.getBalance(acct), "ether");
        totalBal += parseFloat(acctBal);
        console.log("  eth.accounts[" + acctNum + "]: t" + acct + " tbalance: " + acctBal + " ether");
    }
    console.log("  Total balance: " + totalBal + " ether");
};
undefined
> checkAllBalances();
  eth.accounts[0]:  0xd587b23313f09b569dd76b4e1df4256f6944298f  balance: 0 ether
  eth.accounts[1]:  0xf4297698b3d2a04cea68ec1ab0997511ae33530d  balance: 0 ether
  Total balance: 0 ether
undefined

1 etherもない。

採掘する

Mining を見ながら採掘。
miner.start() を使うと採掘ができるのだが DAGという

# geth --datadir /root/ethereum/data --networkid 15 console
INFO [04-30|10:51:42] Starting peer-to-peer node               instance=Geth/v1.6.0-stable-facc47cb/linux-amd64/go1.8.1
INFO [04-30|10:51:42] Allocated cache and file handles         database=/root/ethereum/data/geth/chaindata cache=128 handles=1024
INFO [04-30|10:51:42] Initialised chain configuration          config="{ChainID: 15 Homestead: 0 DAO:  DAOSupport: false EIP150:  EIP155: 0 EIP158: 0 Engine: unknown}"
INFO [04-30|10:51:42] Disk storage enabled for ethash caches   dir=/root/ethereum/data/geth/ethash count=3
INFO [04-30|10:51:42] Disk storage enabled for ethash DAGs     dir=/root/.ethash                   count=2
INFO [04-30|10:51:42] Initialising Ethereum protocol           versions="[63 62]" network=15
INFO [04-30|10:51:42] Loaded most recent local header          number=5 hash=fb4b13…f5f52b td=1063995582
INFO [04-30|10:51:42] Loaded most recent local full block      number=5 hash=fb4b13…f5f52b td=1063995582
INFO [04-30|10:51:42] Loaded most recent local fast block      number=5 hash=fb4b13…f5f52b td=1063995582
WARN [04-30|10:51:42] Blockchain not empty, fast sync disabled
INFO [04-30|10:51:42] Starting P2P networking
INFO [04-30|10:51:44] Starting mining operation
INFO [04-30|10:51:44] Commit new mining work                   number=6 txs=0 uncles=0 elapsed=661.661µs
INFO [04-30|10:51:44] RLPx listener up                         self=enode://518e25eb5e2d9562ac7b164d0d08d2ebc4f990db0ac35620db1b95890d666dcc7f17c09beb92a7f7a3904f290851f094528ee8b9868b38892087ab1cca73eb4c@[::]:30303
INFO [04-30|10:51:44] IPC endpoint opened: /root/ethereum/data/geth.ipc
> miner.start() 
INFO [04-30|10:51:49] Generating DAG in progress               epoch=0 percentage=0 elapsed=3.568s
INFO [04-30|10:51:52] Generating DAG in progress               epoch=0 percentage=1 elapsed=7.078s
 :
 :
INFO [04-30|11:07:46] Generating DAG in progress               epoch=0 percentage=99 elapsed=6m21.307s
INFO [04-30|11:07:46] Generated ethash verification cache      epoch=0 elapsed=6m21.310s
INFO [04-30|11:07:55] Generating DAG in progress               epoch=1 percentage=0  elapsed=6.811s
:
:
INFO [04-30|11:25:08] Generating DAG in progress               epoch=1 percentage=99 elapsed=12m13.001s
INFO [04-30|11:25:08] Generated ethash verification cache      epoch=1 elapsed=12m13.006s

となっているので採掘がはじまった。比較的時間かかったのは
DAGという1GBの巨大なファイルを作成しているログで、これが100%になるまでしばらくかかる。これは、ブロックチェーンのハッシュ計算のために使用されるデータファイルだがれこを作成した時間に数十分とられている。

実際に採掘には2〜3時間かかってしまいそうだったので

> miner.stop() 

コマンドで採掘stop。

次は実際の採掘のアルゴリズムを見ていこうと思う。

Sponsored Link
コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


仮想通貨全般
TendermintをDocker使って起動してみる

以前、勉強会に行ってきた際にTendermintの事を聞いて ブロックチェーンプロトコルが実装できる …

仮想通貨全般
Bitcoinのdifficultyを決めるnBitsを理解する

マイニングする際の理解を深めようと思い、マイニング難易度(difficulty)を決めるnBitsに …

仮想通貨全般
EOS Night Meetupにいってきた

今回は、以前からEOSに興味があったので EOS Night Meetupにいってきました。 暗号通 …