Ethereum(Geth)でテストネット(Ropsten)に接続してみる

article-thumbnail

こんにちは、いつもお読みいただきありがとうございます。
Ken(@gootablog)です。

今回はEthereum(Geth)でテストネットの「Ropsten」に接続する方法を書いていきます。

テストネットに接続すると、ノード同士が接続されていて本番さながらの状態でテストや開発ができます。また、EtherscanなどのエクスプローラーサイトなどはRopstenも採用しているので、ライブネットの他にRopstenのトランザクションやバランスが見れるので便利です。 

環境構築やプライベートネットへの接続の仕方などは下のリンクを参考にしてみてください。

Ethereumクライアント「Geth」の環境構築方法
Ethereum(Geth)でプライベートネットを作成
Gethコンソールでよく使うコマンドをまとめました
Ethereum(Geth)でJSON RPCを使って外部からアクセスする
Ethereum(Geth)をlivenetに接続してみる
Ethereum(Geth)をバックグラウンドで起動する&バックグラウンドからコンソールを起動する

Gethの起動コマンド(Ropsten ver)

$ geth --testnet --fast \
--bootnodes "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303,enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303" \
console 2>> ./log

ポイントは--testnet--bootnodesというオプションを指定してRopstenの接続先を指定してあげることです。
ログファイルは適宜追加してください。

Ropstenはプライベートネットとは違って世界中ですでに使われています。なのでブロックを同期する必要があります。
--fast--cache=1024'のオプションを付けることで高速で同期が可能です。
2018/01/20現在だと
–fast`オプションを付けて30Gくらいなのである程度容量に余裕を持たせてサーバーを建ててください。

同期されているかの確認

Gethを起動すると自動で同期がはじまります。
同期がちゃんと進んでるか確認したい場合は、コンソールで以下のコマンドを打ち込んでください。

> eth.syncing

そうすると、同期が完了しているブロック数や現在のブロック数などが表示されます。
もしfalseが返ってくる場合は同期が完了しているということです。

faucetからETHの受け取り方

プライベートネットでマイニングをするとザクザク掘れますが、Ropstenの場合は試していないので正確にはわからないですが難しいと思います。

じゃあどうするかというと、faucetという仕組みを使ってETHをもらうことができます。有志の方に感謝です。

curl -X POST  -H "Content-Type: application/json" -d '{"toWhom":"[ropsten_address]"}' https://ropsten.faucet.b9lab.com/tap

[ropsten_address]に受取先のアドレスを入力し、curlを使ってこのリクエストを送ります。そうすると1ETH受け取ることができます。
調子に乗って何回も受け取っていると、受け取りすぎ!って注意されるので必要な分だけ受け取るようにしましょう。

これでGethも起動できてRopsten用のETHを手に入ったので送金テストや、トークンなどを作って動かしてみることができるようになりました。

参考になれば幸いです。

>> Gethコンソールでよく使うコマンドをまとめました

Geth