メインコンテンツまでスキップ
バージョン: 3.3.2

このドキュメントで、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-URLHTTP-URLP2P-URL
アメリカ18.209.137.246:30002http://18.209.137.246:30001/ip4/18.209.137.246/tcp/30000/ipfs/12D3KooWGoPE333zygBN61vtSjvPfosi78JFSwRRDrLoAKaH1mTP
韓国54.180.196.80:30002http://54.180.196.80:30001/ip4/54.180.196.80/tcp/30000/ipfs/12D3KooWMm2RzyZDPBie89FXceKFSBRg8zzkwAGQmdauj6tmrqcA
オーストラリア13.239.153.239:30002http://13.239.153.239:30001/ip4/13.239.153.239/tcp/30000/ipfs/12D3KooWEavwbgwrgah2sc7pfdJMcEkbEB38DETnE8zwQj8EU1Fg
日本52.197.100.115:30002http://52.197.100.115:30001/ip4/52.197.100.115/tcp/30000/ipfs/12D3KooWGBbN2VBUVWPygcm6AwX8WM8jGXFf4QhCbaKdfAeahePJ
カナダ35.182.211.144:30002http://35.182.211.144:30001/ip4/35.182.211.144/tcp/30000/ipfs/12D3KooWQMUkJECpA3cwyN4UaWEHE4bTFkAn8xZUDFchZe8omXk2
ドイツ35.157.137.25:30002http://35.157.137.25:30001/ip4/35.157.137.25/tcp/30000/ipfs/12D3KooWDsTP7KxBSj7rKuVKm6J6fbJCC2e77Ftix21nZZXsiCcb
イギリス35.176.24.11:30002http://35.176.24.11:30001/ip4/35.176.24.11/tcp/30000/ipfs/12D3KooWHzHUBq4x4LmXtZH79LCAxVUYgpKXgMgAtyvYQWeHZAAp
フランス35.181.10.219:30002http://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}
- ...