はじめての Ethereum Part1 ノード構築編(2019年2月16日執筆)
はじめてのブロックチェーン・アプリケーション Ethereumによるスマートコントラクト開発入門
- 作者: 渡辺篤,松本雄太,西村祥一,清水俊也
- 出版社/メーカー: 翔泳社
- 発売日: 2017/08/03
- メディア: Kindle版
- この商品を含むブログを見る
環境情報
OS
OS | バージョン | 備考 |
---|---|---|
macOS Mojava | 10.14.2 | ホストOS |
Oracle VM VirtualBox | 5.2.26 | |
Ubuntu | 16.04.4LTS | ゲストOS |
環境構築
▼環境構築の仕方はこちらなどをご参考に。
はじめてのCounterpartyノード構築Part1(2018年9月29日更新) - kharukaのブログ~お金と技術とキャリア~
Geth(Go-Ethereum)のダウンロード
sudo apt update wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.8.22-7fa3509e.tar.gz md5sum geth-linux-amd64-1.8.22-7fa3509e.tar.gz -- Checksum (MD5) -- -- a02321a1ee89c330eb8e87b694254dbb geth-linux-amd64-1.8.22-7fa3509e.tar.gz --
Geth(Go-Ethereum)のインストール
tar -zxvf geth-linux-amd64-1.8.22-7fa3509e.tar.gz
Operating a private network
--datadir
用のディレクトリを作成します。
mkdir geth-linux-amd64-1.8.22-7fa3509e/private_network
the private genesis stateを定義
"chainId": 5
と後述するインタラクティブなJavaScript環境を起動する際のgeth
オプション--networkid 5
の値を等しくすることをお忘れなく。
vi geth-linux-amd64-1.8.22-7fa3509e/private_network/genesis.json -- genesis.json -- { "config": { "chainId": 5, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "alloc" : {}, "coinbase" : "0x0000000000000000000000000000000000000000", "difficulty" : "0x20000", "extraData" : "", "gasLimit" : "0x2fefd8", "nonce" : "0x0000000000000042", "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp" : "0x00" } -- genesis.json --
Gethノードの初期化
すべてのブロックチェーンパラメータが正しく設定されるように、Gethノードを起動する前にすべてのGethノードを初期化します。
geth-linux-amd64-1.8.22-7fa3509e/geth --datadir /home/ubuntu/geth-linux-amd64-1.8.22-7fa3509e/private_network/ init /home/ubuntu/geth-linux-amd64-1.8.22-7fa3509e/private_network/genesis.json
genesis.jsonファイルが正しく設定されていれば、以下の様なログが出力されます。
INFO [02-14|16:36:08.637] Maximum peer count ETH=25 LES=0 total=25 INFO [02-14|16:36:08.638] Allocated cache and file handles database=/home/ubuntu/geth-linux-amd64-1.8.22-7fa3509e/private_network/geth/chaindata cache=16 handles=16 INFO [02-14|16:36:08.644] Writing custom genesis block INFO [02-14|16:36:08.644] Persisted trie from memory database nodes=0 size=0.00B time=3.963μs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B INFO [02-14|16:36:08.644] Successfully wrote genesis state database=chaindata hash=5e1fc7…d790e0 INFO [02-14|16:36:08.644] Allocated cache and file handles database=/home/ubuntu/geth-linux-amd64-1.8.22-7fa3509e/private_network/geth/lightchaindata cache=16 handles=16 INFO [02-14|16:36:08.649] Writing custom genesis block INFO [02-14|16:36:08.649] Persisted trie from memory database nodes=0 size=0.00B time=3.11μs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B INFO [02-14|16:36:08.650] Successfully wrote genesis state database=lightchaindata hash=5e1fc7…d790e0
次回は、プライベートネットワークへの接続をしていきます。
▼記事の続きは以下へ。
はじめての Ethereum Part2 プライベートネットワークへの接続編(2019年2月16日執筆) - kharukaのブログ~お金と技術とキャリア~
参考
- 作者: アンドレアス・M・アントノプロス
- 出版社/メーカー: NTT出版
- 発売日: 2017/06/01
- メディア: Kindle版
- この商品を含むブログを見る