本文へスキップ
このページは英語からの機械翻訳を使用しており、誤りや不明瞭な表現が含まれている可能性があります。最も正確な情報については、オリジナルの英語版をご覧ください。頻繁な更新のため、一部のコンテンツはオリジナルの英語になっている可能性があります。Crowdinでの取り組みに参加して、このページの翻訳改善にご協力ください。 (Crowdin translation page, Contributing guide)

カイロスにつながる

This section covers how to connect your 4-node ServiceChain network to the Baobab network. You will set up a Baobab EN and connect the EN with one of your SCNs. Then you will enable the anchoring feature to put ServiceChain block information onto the Baobab network.

前提条件

  • EN用LinuxまたはMacOSサーバー1台
  • テストに最低限必要なハードウェア
    • CPU:4コア(Intel Xeonまたは同等)、RAM:16GB、HDD:50GB
    • 詳しくは動作環境をご参照ください。
  • Download the Baobab EN executable. ダウンロード可能なバイナリの全リストは、Download を参照のこと。
  • 仮定と限界
    • ServiceChainネットワークがインストールされ、実行されている。 ネットワークのセットアップについては、「4ノードサービスチェーンのセットアップ」(4nodes-setup-guide.md)を参照してください。
    • カイロスEN。
    • 1対1の接続しかサポートされていないため、1つのENは1つのSCNにしか接続できません。
    • すべてのSCNがENに接続する必要はない。

Step 0: Install Baobab EN

インストールとは、ダウンロードしたパッケージを解凍することである。 EN サーバー上のアーカイブを展開する。


EN-01$ tar xvf ken-baobab-vX.X.X-XXXXX-amd64.tar.gz

ステップ1:genesis.jsonの準備

ENサーバーから、Kairosネットワーク用のgenesis.jsonをダウンロードする。


EN-01$ curl -X GET https://packages.kaia.io/kairos/genesis.json -o ~/genesis.json

ステップ 2:EN ノードの初期化

次に、genesisファイルを使用してENノードを初期化する。 以下のコマンドを実行する。 チェーンデータとログを保存するデータフォルダがホームディレクトリに作成されます。 データフォルダは --datadir ディレクティブを使って変更できる。


EN-01$ ken init --datadir ~/data ~/genesis.json

ステップ3:ENノードの設定

ken のインストールフォルダーに移動し、mv kend_baobab.conf kend.confという名前に変更してから、conf/kend.conf を以下のように編集する。


...
NETWORK="baobab"
...
SC_MAIN_BRIDGE=1
...
DATA_DIR=~/data
...

ステップ4:ENノードの起動


EN-01$ kend start
Starting kscnd: OK

ブロックの同期状況は kaia.blockNumber を見ることで確認できる。 この数値が0でなければ、ノードは正常に動作している。 Downloading all blocks on the Baobab network may take a long time depending on network conditions and hardware performance, so we recommend using Fast Sync to synchronize blocks.


EN-01$ ken attach --datadir ~/data
> kaia.blockNumber
21073

ノードを停止したい場合は、kend stopコマンドを使うことができる。

ステップ5:ENノードのKNIのチェック

SCN-L2-01ノードからの接続に使用されるEN-01のKNIに注意してください。 この値は次のステップで main-bridges.json を生成する際に使用される。


EN-01$ ken attach --datadir ~/data
> mainbridge.nodeInfo.kni
"kni://0f7aa6499553...25bae@[::]:50505?discport=0"

ステップ6:main-bridges.jsonの作成

SCN-L2-01 (注: EN-01 ノードではありません) にログオンし、~/datamain-bridges.json を作成します。 の後にある[::]をEN-01ノードのIPアドレスに置き換える。


SCN-L2-01$ echo '["kni://0f7aa6499553...25bae@192.168.1.1:50505?discport=0"]' > ~/data/main-bridges.json

ステップ 7: SCNの設定とkscnの再起動

SCN-L2-01 ノードのシェルから kscn-XXXXX-amd64/conf/kscnd.conf を編集します。 SC_SUB_BRIDGEを 1 に設定すると、SCN-L2-01 ノードの起動時に自動的にデータアンカリングを開始する。 In this example,SC_PARENT_CHAIN_IDis set to 1001 because thechainID of the parent chain, Baobab, is 1001. SC_ANCHORING_PERIODはメインチェーンにアンカリングTXを送信する期間を決めるパラメータである。 値を10に設定すると、ノードは10ブロックごとにアンカリングを実行するように設定される。 デフォルト値は1である。


...
SC_SUB_BRIDGE=1
...
SC_PARENT_CHAIN_ID=1001
...
SC_ANCHORING_PERIOD=10
...

以下のコマンドを実行してkscnを再起動する:


SCN-L2-01$ kscnd stop
Shutting down kscnd: Killed
SCN-L2-01$ kscnd start
Starting kscnd: OK

SCN-L2-01がEN-01に接続されているかどうかをsubbridge.peers.lengthで確認する。


SCN-L2-01$ kscn attach --datadir ~/data
> subbridge.peers.length
1

アンカーリング

EN-01とSCN-L2-01の接続が完了したら、アンカリングにより親チェーンのServiceChainブロック情報を記録します。 このセクションでは、親オペレーターのアカウントをトップアップし、アンカリングを有効にし、アンカリングされたブロック番号を確認します。

Step 1: Get KLAY to test anchoring

Anchoring requires SCN-L2-01 to make an anchoring transaction to Baobab. そのため、subbridge.parentOperatorアカウントは、取引手数料を支払うのに十分なKAIAを持っていなければならない。 Kairos FaucetからKAIAを取得し、parentOperatorにKAIAを転送する。 実サービスでのデータアンカリングのために、parentOperatorはトランザクション料金に十分なKAIAを持つ必要がある。


SCN-L2-01$ kscn attach --datadir ~/data
> subbridge.parentOperator
"0x3ce216beeafc62d20547376396e89528e1d778ca"

ステップ2:アンカー開始

アンカリングを開始するには、以下のコマンドを実行する:


SCN-L2-01$ kscn attach --datadir ~/data
> subbridge.anchoring(true)
true

アンカー開始後、subbridge.latestAnchoredBlockNumberを使用することで、Kairosにアンカーされた最新のブロックを確認することができます。 Please note that this only works after the EN already followed up on the latest block of Baobab. デフォルトでは、SCN-L2-01はアンカーをオンにしたブロックからすべてのブロックでアンカーを試行する。 SC_ANCHORING_PERIOD`を変更することで、アンカー期間を設定することができる。 値が10に設定されている場合、ノードはブロック番号が10の倍数のときにアンカリングを試みる。


SCN-L2-01$ kscn attach --datadir ~/data
> subbridge.latestAnchoredBlockNumber
100

ページを改善してください。