Service Chain 구성 시 SEN과 EN과 연동 설정을 어떻게 해야하는 지 문의 드립니다

안녕하세요.
수고가 많으십니다.

아래의 문의 사항이 있어 글을 남깁니다.

  1. 문의 사항
  1. EN<—> SEN 사이에 연동 설정을 어떻게 해야 하는 지 문의 드립니다.
  1. 구성 현황
  • ./homi setup local --cn-num 1 --pn-num 1 --en-num 1 --test-num 10 --servicechain --chainID 3031 --p2p-port 22323 -o ~/klaytn/homi-output31
    를 수행하여 genesis.json, static-nodes.json, nodekey 생성

  • genesis.json 파일을 이용하여 SCN/SPN/SEN initial 수행

  • key/nodekey1 을 SCN에 적용
    key_pn/nodekey1을 SPN에 적용

  • scripts/static-nodes.json 을 SCN/SPN에 적용
    scripts_pn/static-nodes.json 을 SEN에 적용

  1. node가 연동 현황
  • SCN과 SPN간 연동
  • SPN과 SCN 연동
    SPN과 SEN 연동
  • SEN과 SPN 연동

[SCN]

admin.peers
[{
caps: [“istanbul/64”],
id: “892dc50bf8ab93a20f938d21dee284a344a66f12751b5fc5745c4dc136e2e99e14c430353f086578a6122504b97608a826bafd252e7887c1720f49f663c9a3af”,
name: “Klaytn/v1.8.2+7584e71de6/linux-amd64/go1.15.7”,
networks: [{
inbound: true,
localAddress: “172.18.0.31:22323”,
nodeType: “pn”,
remoteAddress: “172.18.0.33:34346”,
static: false,
trusted: false
}, {
inbound: true,
localAddress: “172.18.0.31:22324”,
nodeType: “pn”,
remoteAddress: “172.18.0.33:34090”,
static: false,
trusted: false
}],
protocols: {
istanbul: {
blockscore: 17277,
head: “0x0eee92d2cb2cad71de8668a7150fd4407e139d89d9996b13b92c7f7c6e60b233”,
version: 64
}
}
}]

[SPN]

admin.peers
[{
caps: [“istanbul/64”],
id: “c5e902a09ebe2c5f422d48615728532a2c7a93b8293789920ef364f8f28d8143fe9cb389a322e3837648da99602ef4240f5f8bbd39dd522ee899952a6f79c64d”,
name: “Klaytn/v1.8.2+7584e71de6/linux-amd64/go1.15.7”,
networks: [{
inbound: false,
localAddress: “172.18.0.33:34346”,
nodeType: “cn”,
remoteAddress: “172.18.0.31:22323”,
static: true,
trusted: false
}, {
inbound: false,
localAddress: “172.18.0.33:34090”,
nodeType: “cn”,
remoteAddress: “172.18.0.31:22324”,
static: true,
trusted: false
}],
protocols: {
istanbul: {
blockscore: 18958,
head: “0x6f0001a80782aa2ba6b2f0fd98e4935b2e16e59c589eb9f6f7505c5230a09122”,
version: 64
}
}
}, {
caps: [“istanbul/64”],
id: “eb734f53d4f6cb136d45063876f11cdbbafda6a81bef263c13118aaaa911384b062d25a9032ea01df61b314de7cb2f4f15f1f2fa6a27e18feadea58021c6f33d”,
name: “Klaytn/v1.8.2+7584e71de6/linux-amd64/go1.15.7”,
networks: [{
inbound: true,
localAddress: “172.18.0.33:32323”,
nodeType: “en”,
remoteAddress: “172.18.0.35:37544”,
static: false,
trusted: false
}, {
inbound: true,
localAddress: “172.18.0.33:32324”,
nodeType: “en”,
remoteAddress: “172.18.0.35:60986”,
static: false,
trusted: false
}],
protocols: {
istanbul: {
blockscore: 17564,
head: “0x69ab7de66bd7b4768d56bb3c0490b349eebdf0afc9f7c8f96f55d9a72f4a809b”,
version: 64
}
}
}]

[SEN]

admin.peers
[{
caps: [“istanbul/64”],
id: “892dc50bf8ab93a20f938d21dee284a344a66f12751b5fc5745c4dc136e2e99e14c430353f086578a6122504b97608a826bafd252e7887c1720f49f663c9a3af”,
name: “Klaytn/v1.8.2+7584e71de6/linux-amd64/go1.15.7”,
networks: [{
inbound: false,
localAddress: “172.18.0.35:37544”,
nodeType: “pn”,
remoteAddress: “172.18.0.33:32323”,
static: true,
trusted: false
}, {
inbound: false,
localAddress: “172.18.0.35:60986”,
nodeType: “pn”,
remoteAddress: “172.18.0.33:32324”,
static: true,
trusted: false
}],
protocols: {
istanbul: {
blockscore: 18965,
head: “0x92f2184e4048a6bb845c97a99f845bcfa93a8e503f94dd0704a8426e295f5fc3”,
version: 64
}
}
}]

  1. SEN config 설정

Configuration file for the ksend

if you specify NETWORK_ID, a private network is created.

NETWORK_ID=3031

PORT=32323

SERVER_TYPE=“fasthttp”
SYNCMODE=“full”
VERBOSITY=5
MAXCONNECTIONS=10

txpool options setting

TXPOOL_EXEC_SLOTS_ALL=4096
TXPOOL_NONEXEC_SLOTS_ALL=4096
TXPOOL_EXEC_SLOTS_ACCOUNT=4096
TXPOOL_NONEXEC_SLOTS_ACCOUNT=4096
TXPOOL_LIFE_TIME=“30m”

rpc options setting

RPC_ENABLE=1 # if this is set, the following options will be used
RPC_API=“klay,eth,net,web3” # available apis: admin,debug,klay,eth,miner,net,personal,rpc,txpool,web3
RPC_PORT=8551
#RPC_PORT=8551
#RPC_ADDR=“15.165.138.16”
RPC_ADDR=“0.0.0.0”
RPC_CORSDOMAIN=“"
RPC_VHOSTS="

ws options setting

WS_ENABLE=1 # if this is set, the following options will be used
WS_API=“klay,eth,net,web3” # available apis: admin,debug,klay,eth,miner,net,personal,rpc,txpool,web3
WS_ADDR=“0.0.0.0”
WS_PORT=8552
WS_ORIGINS=“*”

service chain options setting

SC_MAIN_BRIDGE=1 # if this is set, the following options will be used.
SC_MAIN_BRIDGE_PORT=50505
SC_MAIN_BRIDGE_INDEXING=1

SC_SUB_BRIDGE=1
SC_SUB_BRIDGE_PORT=50506 # if main-bridge and sub-bridge on same instance, use different port with main-bridge.(main: 50505, sub:50506)
SC_PARENT_CHAIN_ID=1001

SC_ANCHORING=1
SC_ANCHORING_PERIOD=1
SC_TX_LIMIT=1000

SC_KAS_ANCHOR=0
SC_KAS_ANCHOR_PERIOD=1
SC_KAS_ANCHOR_URL=“”
SC_KAS_ANCHOR_OPERATOR=“”
SC_KAS_ANCHOR_ACCESS_KEY=“”
SC_KAS_ANCHOR_SECRET_KEY=“”
SC_KAS_ANCHOR_X_CHAIN_ID=8217

Setting 1 is to enable options, otherwise disabled.

AUTO_RESTART=0
METRICS=1
PROMETHEUS=1
DB_NO_PARALLEL_WRITE=0
MULTICHANNEL=1
SUBPORT=$((PORT + 1)) # used for multi channel option
VTRECOVERY=1 # value transfer recovery

discover options

NO_DISCOVER=0 # setting 1 to disable discovery
BOOTNODES=“”

Raw options e.g) “–txpool.nolocals”

ADDITIONAL=“”

auto restart options

AUTO_RESTART_NODE=0
AUTO_RESTART_INTERVAL=0.1

DATA_DIR=/klaytn/data
LOG_DIR=/klaytn/log

안녕하세요. 클레이튼 포럼에 글을 남겨주셔서 감사합니다.
EN 과 SEN을 연결하고 싶다 라는 질문은 처음받아봐서, 질문의 의도를 제대로 파악하지 못했습니다.
질문의 의도를 두가지 정도로 해석할 수 있을거 같은데, 각각 답변을 우선 달아보자면

  1. EN과 서비스체인을 연결하고 싶다는 말씀이신지요?
    Baobab 연결 - Klaytn Docs
    해당 docs를 참고하시면 좋을 것 같습니다.
  2. admin.peers를 날렸을 때 SEN이 EN과 ‘직접’ 연결된 상태를 유지하고싶다는 말씀이신가요?
    → 혹시 EN을 세팅하셨을까요? 위에서는 EN 세팅 부분이 빠져서 잘 세팅이 안되셨는지 확인이 안되네요.
    그리고 권장되는 연결의 형태는 EN<-> SCN 입니다만 EN과 SEN을 연결하시려는 목적이 무엇일까요?

빠른 답변 감사합니다.

Service Chain 형상을 어떻게 구성 후 Baobab(or mainnet) 연동 연동을 해야 할 지 고민 중에 있으며,
말씀한 1번 사항에 대해서는 구성 후 테스트를 진행하였습니다

다만,

Private 서비스 체인 구성시 EN노드 구성 방안

에서 보면 SEN과 EN과 브릿지 설정이 가능한 것으로 보여서 테스트를 해보고자 문의를 드렸습니다.

권장 구성이 SCN-EN 이라면, 해당 테스트는 진행이 불필요할 것으로 보이네요.

감사합니다.

가능은 합니다만, SCN-EN 구조에 비해 SEN-EN의 구조가 가지는 장점이 명확히 있지는 않다고 개인적으로 생각합니다.