Klaytn Docs
Value Transfer between Sibling ServiceChains
This section will explain how to enable value transfer between ServiceChain newtorks. The main features provided by ServiceChain, data anchoring and value transfer, can be used independently. That is, you can use only data anchoring or only value transfer, regardless of whether you use the other feature.
As shown in the figure below, if there are two ServiceChains (chainID 1002 and 1004) connected to Baobab, since each servicechain performs data anchoring with Baobab, data anchoring is not required between each other, only value transfer is required.
To transfer value when there is no bridge between two ServiceChains, first transfer value from the ServiceChain (chainID 1002) to baobab (chainID 1001), and then transfer value from baobab (chainID 1001) to the ServiceChain (chainID 1004) again. This is inefficient than providing value transfer directly from the ServiceChain (chainID 1002) to the ServiceChain (chainID 1004) at once. Therefore, by creating a bridge between ServiceChains directly, we can transfer value efficiently .


Repeat Connecting to Baobab as shown in the picture above to additionally install ServiceChain (chianID 1004).
A node can have only one main-bridge and one sub-bridge each. In this example, for convenience of explanation, we are going to connect a bridge to SCN-L2-03 and SCN-L2-07, which are nodes that do not have both main-bridge and sub-bridge yet.

Step 1: Check KNI of SCN-L2-03 Node

Take note of SCN-L2-03's KNI which is the information used to connect from an SCN node. This value will be used in the next step when generating main-bridges.json
SCN-L2-03$ kscn attach --datadir ~/data
> mainbridge.nodeInfo.kni
"kni://[email protected][::]:50505?discport=0"

Step 2: Create main-bridges.json

Log on to an SCN-L2-07 (note: chianID 1004) and create main-bridges.json on ~/data. Replace [::] located after @ letter with EN node's IP address.
$ echo '["kni://[email protected]:50505?discport=0"]' > ~/data/main-bridges.json

Step 3: Configure SCN then Restart

From the SCN-L2-07 node's shell, edit kscn-XXXXX-amd64/conf/kscnd.conf. Since each ServiceChain already anchored with the Baobab EN, data anchoring between sibling is not required. So we set SC_ANCHORING to 0.
Restart kscnd on SCN-L2-07 node
SCN-L2-07$ kscnd stop
Shutting down kscnd: Killed
SCN-L2-07$ kscnd start
Starting kscnd: OK
Check if the SCN-L2-07 is connected to the SCN-L2-03 by checking subbridge.peers.length
SCN-L2-07$ kscn attach --datadir ~/data
> subbridge.peers.length
In the case of value transfer, if the information corresponding to chainID 1002 is used as the mainbridge information and the information corresponding to chainID 1004 is set as a subbridge, value transfer is possible between siblings as in Cross-Chain Value Transfer.
Copy link
Edit on GitHub
On this page
Step 1: Check KNI of SCN-L2-03 Node
Step 2: Create main-bridges.json
Step 3: Configure SCN then Restart