エンドポイントノードのインストール
ダウンロード
ダウンロード](../downloads/downloads.md)ページから最新版のENをダウンロードできます。
インストール
Linuxアーカイブ・ディストリビューション
アーカイブファイルは実行バイナリとコンフィギュレーションファイルで構成され、以下のような構造になっている。
注:ファイル構造やファイル名を変更しないでください。 これを変更すると、ノードが正しく機能しなくなる可能性があります。
- bin |- ken |- kend- conf |- kend.conf
ファイル名 | ファイルの説明 |
---|---|
bin/ken | EN実行ファイル |
bin/kend | EN 開始/終了スクリプトファイル |
conf/kend.conf | EN設定ファイル |
インストールとは、ダウンロードしたパッケージをインストールしたい場所に解凍することである。
$ tar zxf ken-vX.X.X-linux-amd64.tar.gz
あるいは
$ tar zxf ken-baobab-vX.X.X-linux-amd64.tar.gz
注: ken
と kend
をグローバルに実行するには、解凍されたディレクトリ ken-linux-amd64/bin
のパスを環境変数 $PATH
に追加することを推奨します。 一例を挙げよう、
$ export PATH=$PATH:~/downloaded/path/ken-linux-amd64/bin
他のセクションは、変数にパスが追加されていることを前提としている。
RPM Distribution (RHEL/CentOS/Fedora)
ダウンロードしたRPMファイルは、以下のyum
コマンドでインストールできる。
$ yum install kend-vX.X.X.el7.x86_64.rpm
あるいは
$ yum install kend-baobab-vX.X.X.el7.x86_64.rpm
Kaia Yum Repoからインストールする
あるいは、Kaia Yum repoからkend
をインストールして実行することもできる:
sudo curl -o /etc/yum.repos.d/kaia.repo https://packages.kaia.io/config/rhel/7/kaia.repo && sudo yum install kend
または
sudo curl -o /etc/yum.repos.d/kaia.repo https://packages.kaia.io/config/rhel/9-stream/kaia.repo && sudo yum install kend
設置場所
インストールされるファイルは以下の通り。
ファイル名 | 所在地 |
---|---|
ken | /usr/bin/ken |
kend.conf | /etc/kend/conf/kend.conf |
構成
EN の設定は、データ・ディレクトリを作成し、設定ファイル kend.conf
で環境変数を設定することである。
- EN データ・ディレクトリを作成する。
- kend.conf`でENを設定する。
ENデータディレクトリの作成
カイア・ブロックチェーンのデータサイズが増加し続けているという事実を考慮すると、十分な大きさのストレージを使用することをお勧めします。 希望のパスにディレクトリを作成する必要がある。
$ sudo mkdir -p /var/kend/data
設定ファイルの更新
設定ファイルの場所
- アーカイブ・ディストリビューションの場合、config ディレクトリの場所のデフォルトは
$INSTALL_PATH/ken-linux-amd64/conf/
です。 - パッケージ配布の場合、config ディレクトリのデフォルトは
/etc/kend/conf/
です。
データディレクトリの追加
設定ファイル kend.conf
のデータディレクトリ環境変数 $DATA_DIR
を更新する必要がある。
DATA_DIR=/var/kend/data
(オプション)Chaindata Snapshotのダウンロード
ジェネシス・ブロックからの同期には時間がかかる。 Chaindata Snapshot](../../misc/operation/chaindata-snapshot.md) を使用して、Full Sync プロセスをスキップすることができます。
EN の起動
以下のコマンドを使用して、エンドポイントノードを起動または停止できます。
スタート
$ kend startStarting kend: OK
ストップ
$ kend stopShutting down kend: Killed
ステータス
$ kend statuskend is running
インストールのテスト
Endpoint Nodeが正常にインストールされ、インストール後に期待通りに動作していることを確認します。
プロセス状況
ステータスコマンド systemctl
と kend
を使って、EN のプロセスのステータスをチェックすることができる。
systemctl
systemctl
はRPMと一緒にインストールされ、以下のようにしてEN状態を確認することができる。
$ systemctl status kend.service● kend.service - (null) Loaded: loaded (/etc/rc.d/init.d/kend; bad; vendor preset: disabled) Active: active (running) since Wed 2019-01-09 11:42:39 UTC; 1 months 4 days ago Docs: man:systemd-sysv-generator(8) Process: 29636 ExecStart=/etc/rc.d/init.d/kend start (code=exited, status=0/SUCCESS) Main PID: 29641 (ken) CGroup: /system.slice/kend.service └─29641 /usr/local/bin/ken --networkid 1000 --datadir /kend_home --port 32323 --srvtype fasthttp --metrics --prometheus --verbosity 3 --txpool.global...Jan 09 11:42:39 ip-10-11-2-101.ap-northeast-2.compute.internal systemd[1]: Starting (null)...Jan 09 11:42:39 ip-10-11-2-101.ap-northeast-2.compute.internal kend[29636]: Starting kend: [ OK ]Jan 09 11:42:39 ip-10-11-2-101.ap-northeast-2.compute.internal systemd[1]: Started (null).
上の例では、Active: active (running)
のように現在のステータスを確認することができる。
kend
kend
はパッケージと一緒にインストールされ、EN の状態は以下のように確認できる。
$ kend statuskend は実行中です。
過去ログ
ログは kend.conf
ファイルの LOG_DIR
フィールドで定義されたパスにある kend.out
ファイルに保存される。 ノードが正常に動作すると、各ブロックが以下のように1秒ごとにインポートされるのがわかる。
例
$ tail kend.outINFO[02/13,07:02:24 Z] [35] Commit new mining work number=11572924 txs=0 elapsed=488.336µsINFO[02/13,07:02:25 Z] [5] Imported new chain segment blocks=1 txs=0 mgas=0.000 elapsed=1.800ms mgasps=0.000 number=11572924 hash=f46d09…ffb2dc cache=1.59mBINFO[02/13,07:02:25 Z] [35] Commit new mining work number=11572925 txs=0 elapsed=460.485µsINFO[02/13,07:02:25 Z] [35] 🔗 block reached canonical chain number=11572919 hash=01e889…524f02INFO[02/13,07:02:26 Z] [14] Committed address=0x1d4E05BB72677cB8fa576149c945b57d13F855e4 hash=1fabd3…af66fe number=11572925INFO[02/13,07:02:26 Z] [5] Imported new chain segment blocks=1 txs=0 mgas=0.000 elapsed=1.777ms mgasps=0.000 number=11572925 hash=1fabd3…af66fe cache=1.59mBINFO[02/13,07:02:26 Z] [35] Commit new mining work number=11572926 txs=0 elapsed=458.665µsINFO[02/13,07:02:27 Z] [14] Committed address=0x1d4E05BB72677cB8fa576149c945b57d13F855e4 hash=60b9aa…94f648 number=11572926INFO[02/13,07:02:27 Z] [5] Imported new chain segment blocks=1 txs=0 mgas=0.000 elapsed=1.783ms mgasps=0.000 number=11572926 hash=60b9aa…94f648 cache=1.59mBINFO[02/13,07:02:27 Z] [35] Commit new mining work
クエリ
けんコンソール
KaiaはCLIクライアントken console
を提供している。 クライアントを使うもう一つの方法は、IPC(プロセス間通信)を介してプロセスに接続することである。 IPC ファイル klay.ipc
は EN の DATA_DIR
パスにある。
以下のコマンドを実行し、結果を確認してください。
$ ken attach --datadir /var/kend/dataカイアJavaScriptコンソールへようこそ!インスタンス:Kaia/vX.X.X/XXXX-XXXX/goX.X.X datadir:/var/kend/data modules: admin:1.0 debug:1.0 governance:1.0 istanbul:1.0 klay:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0>
使用可能なコマンドはAPIドキュメントで確認できます。
EN の状態をチェックするのに便利な API:
kaia.blockNumber
(最新のブロック番号を取得する)net.peerCount
(現在接続されているKaiaノードの数を取得する)
klay.blockNumber
最新のブロック番号を取得し、ブロックが正しく伝播されているかどうかを確認することができる。
> klay.blockNumber11573819
net.peerCount
> net.peerCount14
上記のコマンドラインは、ENが接続するノードの数を返す。