EthereumにPHPから接続してみた 補足編
こんにちは
イノベーションオフィスの吉田です。
8月は雨が多くて憂鬱な日が多かったですが、9月は晴れる日が多いといいなぁと思う今日この頃です。
さて、今回は以前書いた記事に関しての補足を書きたいと思います。
上の記事では、geth の 1.5 系を使用していました。
しかし、現在は 1.6 系がリリースされており、 json の記述等で違いが出てきています。
ですので、そこら辺の差異を含めた説明をしたいと思います。
1.6 系で必要な設定
以前の記事でジェネシスブロックの設定を my_genesisn.json に記述していました。
内容は以下の通りです。
しかし、1.6 系で同様の記述を行っても起動しません。
そこで、以下の様に追記を行ってください。
「config」という項目が増えましたね。
config 内の各項目の説明は以下の通りです。
chainId | チェーンを識別するIDです。プライベートの場合は各ノードでそろえておけば問題有りません。networkid と揃えてる方も居るようです。 |
---|---|
homesteadBlock | Homestead(Ethereumの現バージョン)仕様のブロックを何ブロック目から使用するかという設定です。0を指定すれば最初から使用されるので、プライベート利用では0で構いません。 |
eip155Block | EIP155に則ったブロックを何ブロック目から使用するかという設定です。こちらも0で構いません。 |
eip158Block | 上記と同様でEIP158に則ったブロックの設定で、0で構いません。 |
また、今回は coinbase の記述を削除しています。
こちらはこのノードでマイニングした際の報酬受け取り先アドレスを記述するのですが、プライベート利用では作業の中で指定する(miner.setEtherbase)ので省きました。
EIPについて
さて、1.6 系になってから追加された設定項目で eip~ という記述が出てきました。
これは Bitcoin で言うところの BIP(Bitcoin Improvement Proposals) の Ethereum 版になります。
BIP に関しては以下のサイトを参考にしてください。
www.tottemoyasashiibitcoin.net
例えば EIP155 であれば去年 Ehtereum Classic にハードフォークされた影響で起こる Reply Attack への対策となります。
リンクばかりで申し訳有りませんが、Replay Attack に関しては以下が参考になると思います。
最後に
といった感じで補足を書かせていただきましたが、Ethereum(geth)のバージョンアップは続いているのでまた設定やオプションが変わるかもしれません。
その時は早めにお伝えできればと思います。
書いた人:イノベーションオフィス 室長 吉田