Join IOST Network
このドキュメントで、IOSTネットワークへ接続するサーバーをセットアップする方法を紹介します。デバッグやテストのためにローカルシングルサーバブロックチェーンネットをセットアップしたいだけなら、ローカルサーバーの起動を参照してください。
IOSTノードをデプロイするために、ここではDockerを使用しています。
マシン要件
IOSTネットワークにフルノードで接続する場合は、物理的に次の要件を満たす必要があります。
CPU:CPUは4コア以上(8コア推奨) メモリ:メモリは8GB以上(16GB推奨) ディスク:ディスクには1TB以上(5TB HDD推奨) ネットワーク:インターネット接続のため、TCPポート30000を開く(RPC接続が必要なら30001と30002も開く)
前提条件
ノードの開始
デフォルトでは、/data/iserver
はdataボリュームにマウントされます。これは変更しても構いません。ここでは$PREFIX
を参照します。
bootスクリプトの使用
curl https://developers.iost.io/docs/assets/boot.sh | bash
環境変数を使って、Pythonの実行ファイルを設定できます。
例えば、PythonがインストールされていないUbuntuのために、curl ... | PYTHON=python3 bash
が使えます。
Dockerをインストールしていないなら、スクリプトは自動的にDockerをインストールします。 Dockerグループ内にいることを確認して、ブートスクリプトを再起動する必要があります。
このスクリプトは $PREFIX ディレクトリを破棄して、IOSTネットワークに接続する新しいフルノードを起動します。ブロックを生成する準備として、フルノードのためのキーペアを生成します。 Serviノードになりたい場合は、ここに従ってください。
ノードを起動、停止、または再起動するには、次のコマンドを使ってください。
# start
docker start iserver
# stop
docker stop iserver
# restart
docker restart iserver
マニュアルでの操作
データのクリア
もし前のバージョンのiServerを実行しているなら、古いデータを確実に消してください
rm -rf $PREFIX/storage
設定
最新の設定を取得してください。
# get genesis
curl -fsSL "https://developers.iost.io/docs/assets/mainnet/latest/genesis.tgz" | tar zxC $PREFIX/
# get iserver config
curl -fsSL "https://developers.iost.io/docs/assets/mainnet/latest/iserver.yml" -o $PREFIX/iserver.yml
実行
次のコマンドでノードを開始します。
docker pull iostio/iost-node
docker run -d \
--name iserver \
-v /data/iserver:/var/lib/iserver \
-p 30000-30003:30000-30003 \
--restart unless-stopped \
iostio/iost-node
ノードの確認
ログファイルは、$PREFIX/logs/iost.log
にありますが、デフォルトでは無効になっています。古いログを消してから有効にしてください。
ログは、(docker|docker-compose) logs iserver
で、取得することができます。
次のような増加するconfirmed
は、ブロックデータの同期が進んでいっていることを示しています。
...
Info 2019-01-19 08:36:34.249 pob.go:456 Rec block - @4 id:Dy3X54QSkZ..., num:1130, t:1547886994201273330, txs:1, confirmed:1095, et:48ms
Info 2019-01-19 08:36:34.550 pob.go:456 Rec block - @5 id:Dy3X54QSkZ..., num:1131, t:1547886994501284335, txs:1, confirmed:1095, et:49ms
Info 2019-01-19 08:36:34.850 pob.go:456 Rec block - @6 id:Dy3X54QSkZ..., num:1132, t:1547886994801292955, txs:1, confirmed:1095, et:49ms
Info 2019-01-19 08:36:35.150 pob.go:456 Rec block - @7 id:Dy3X54QSkZ..., num:1133, t:1547886995101291970, txs:1, confirmed:1095, et:48ms
Info 2019-01-19 08:36:35.450 pob.go:456 Rec block - @8 id:Dy3X54QSkZ..., num:1134, t:1547886995401281644, txs:1, confirmed:1095, et:48ms
Info 2019-01-19 08:36:35.750 pob.go:456 Rec block - @9 id:Dy3X54QSkZ..., num:1135, t:1547886995701294638, txs:1, confirmed:1095, et:48ms
Info 2019-01-19 08:36:36.022 pob.go:456 Rec block - @0 id:EkRgHNoeeP..., num:1136, t:1547886996001223210, txs:1, confirmed:1105, et:21ms
Info 2019-01-19 08:36:36.324 pob.go:456 Rec block - @1 id:EkRgHNoeeP..., num:1137, t:1547886996301308669, txs:1, confirmed:1105, et:23ms
Info 2019-01-19 08:36:36.624 pob.go:456 Rec block - @2 id:EkRgHNoeeP..., num:1138, t:1547886996601304333, txs:1, confirmed:1105, et:23ms
Info 2019-01-19 08:36:36.921 pob.go:456 Rec block - @3 id:EkRgHNoeeP..., num:1139, t:1547886996901318752, txs:1, confirmed:1105, et:20ms
Info 2019-01-19 08:36:37.224 pob.go:456 Rec block - @4 id:EkRgHNoeeP..., num:1140, t:1547886997201327191, txs:1, confirmed:1105, et:23ms
Info 2019-01-19 08:36:37.521 pob.go:456 Rec block - @5 id:EkRgHNoeeP..., num:1141, t:1547886997501297659, txs:1, confirmed:1105, et:20ms
...
iwallet
ツールを使って、ノードの状態を確認することもできます。iWalletもご覧ください。
docker exec -it iserver iwallet state
最新のブロックチェーン情報は、ブロックチェーンエクスプローラにも表示されます。
シードノードリスト
mainnetのシードノード情報は次のとおりです。
ロケーション | GRPC-URL | HTTP-URL | P2P-URL |
---|---|---|---|
アメリカ | 18.209.137.246:30002 | http://18.209.137.246:30001 | /ip4/18.209.137.246/tcp/30000/ipfs/12D3KooWGoPE333zygBN61vtSjvPfosi78JFSwRRDrLoAKaH1mTP |
韓国 | 54.180.196.80:30002 | http://54.180.196.80:30001 | /ip4/54.180.196.80/tcp/30000/ipfs/12D3KooWMm2RzyZDPBie89FXceKFSBRg8zzkwAGQmdauj6tmrqcA |
オーストラリア | 13.239.153.239:30002 | http://13.239.153.239:30001 | /ip4/13.239.153.239/tcp/30000/ipfs/12D3KooWEavwbgwrgah2sc7pfdJMcEkbEB38DETnE8zwQj8EU1Fg |
日本 | 52.197.100.115:30002 | http://52.197.100.115:30001 | /ip4/52.197.100.115/tcp/30000/ipfs/12D3KooWGBbN2VBUVWPygcm6AwX8WM8jGXFf4QhCbaKdfAeahePJ |
カナダ | 35.182.211.144:30002 | http://35.182.211.144:30001 | /ip4/35.182.211.144/tcp/30000/ipfs/12D3KooWQMUkJECpA3cwyN4UaWEHE4bTFkAn8xZUDFchZe8omXk2 |
ドイツ | 35.157.137.25:30002 | http://35.157.137.25:30001 | /ip4/35.157.137.25/tcp/30000/ipfs/12D3KooWDsTP7KxBSj7rKuVKm6J6fbJCC2e77Ftix21nZZXsiCcb |
イギリス | 35.176.24.11:30002 | http://35.176.24.11:30001 | /ip4/35.176.24.11/tcp/30000/ipfs/12D3KooWHzHUBq4x4LmXtZH79LCAxVUYgpKXgMgAtyvYQWeHZAAp |
フランス | 35.181.10.219:30002 | http://35.181.10.219:30001 | /ip4/35.181.10.219/tcp/30000/ipfs/12D3KooWHjBMcSFxAcCE3kfbuQBSchYbrvt5aRHTRpRFA5x5NYDz |
GRPC
IOSTネットワークのGRPC APIを使いたい場合は、例えば次のようにします。
# Get the node information
iwallet -s 18.209.137.246:30002 state
iwallet -s ${GRPC-URL} state
HTTP
IOSTネットワークのHTTP APIを使いたい場合は、例えば次のようにします。
# Get the block information by block height
curl http://18.209.137.246:30001/getBlockByNumber/3/true
curl ${HTTP-URL}/getBlockByNumber/3/true
P2P
iserverのシードノードを変更したいなら、/data/iserver/iserver.yml
ファイルを編集してください。例えば次のようにします。
p2p:
listenaddr: 0.0.0.0:30000
seednodes:
- /ip4/18.209.137.246/tcp/30000/ipfs/12D3KooWGoPE333zygBN61vtSjvPfosi78JFSwRRDrLoAKaH1mTP
- ${P2P-URL}
- ...