2015年7月30日にFrontierがリリースされ、Ethereumは本番ネットワーク(メインネット)の運用が開始されました。今後、Ethereumのブロックチェーン等のインフラを利用した分散アプリケーションは、このメインネット上にてスマートコントラクトが登録され動作していくことになります。本書ではここまで、個人用のテスト用のネットワーク(テスト・ネット)に繋いで、Gethクライアントを実際に操作しながらEthereumの概観を説明してきました。この節では実際にメインネットに接続していきます。
メインネットに接続する際のデータ用ディレクトリを事前に用意しておきます。
$ mkdir /home/ubuntu/mainnet_data
以下のコマンドを実行してメインネットに接続します。
$ geth --datadir "/home/ubuntu/mainnet_data" 2>> /home/ubuntu/mainnet_data/e01.log &
テスト・ネットに接続した際のコマンドとの違いは、--networkid
、--nodiscover
と --genesis
のオプションを付加していないことになります。
上記方法でgethの起動を行うとgethはEthereumのメインネットに接続している他のノードを探索し始め、見つけたノードから順次、P2P接続を開始し始めます。Gethのコンソールを立上げnet.peerCount
コマンドを実行すると、自分のノードが他のいくつのノードと接続されているかを表示することが出来ます。(探索時間がかかるため起動から数分から十数分程度掛かるので注意ください。)
> net.peerCount25
また、実際に接続されているノードの情報はadmin.peers
のコマンドで確認することが出来ます。
> admin.peers[{Caps: 'eth/60, eth/61',ID: '99017abe7031b48a855b8e79fecb6c927cda88229354f21184d343941ae78ee261d0ccb9f9999f620f96bd729b2cb7c4e8cdf3218d71b016fe531ff439b81dcc',LocalAddress: '160.16.80.199:34057',Name: 'Geth/v1.0.2/linux/go1.4.2',RemoteAddress: '192.169.7.150:30303'},(中略){Caps: 'eth/60, eth/61',ID: '6f8c6cc4a878ed88e03c7a0ee01386e095fbc1bfd48352c7bec05142cc60795317b5b8c5e9afc9863a414541df4d5b1627a86418177857166171fd45497c75ab',LocalAddress: '160.16.80.199:41617',Name: 'Geth/v1.0.2/linux/go1.4.2',RemoteAddress: '83.77.31.183:30303'} ]>
メインネットで接続したgeth
上で、これまでに示した採掘や送金、スマートコントラクトの作成方法等の手順を行うことでメインネットでの操作が可能になります。ただし以下のことに注意してください。
採掘を始めるとまずメインネットでのブロックチェーン情報との同期が始まります。これは環境にもよりますが数日かかるものになります。
ブロックチェーン情報は現在数ギガバイトのオーダーの容量となり今後も増え続けます。そのためgeth
起動時の--data-dir
オプションで指定するディレクトリは容量の大きい領域(パーティション)内のディレクトリを指定することを推奨します。