체인간 브릿지 앵커링 관련 문의 드립니다

안녕하세요, 서비스체인 간 브릿지 및 앵커링 설정 중에 latestAnchoredBlockNumber가 갱신되지 않는 현상이 발생하여 문의 드립니다.
현재 해당 체인간 연결 외에도 다른 두개의 체인간 연결은 정상적으로 완료하여 latestAnchoredBlockNumber도 갱신되고 있는데, 설정값이 동일함에도 해당 체인 두개에서만 갱신이 되지 않고 있어 혹 확인해 볼 부분이 있을까요?
현재 앵커링 데이터는 txpool에 쌓이고만 있는 상태입니다.

child chain

subbridge.peers
[{
    caps: ["servicechain/1"],
    id: "0d8a73b23c13bb98bc3e368ab69e92df3955c791ae382515dd63fafb7880eb2bf2bf2cded1ccfba7bb8f7f1d4e2798fbf594295ae26c07819c77fec300349c6f",
    name: "0",
    networks: [{
        inbound: false,
        localAddress: "10.175.184.177:40338",
        nodeType: "cn",
        remoteAddress: "10.175.184.127:50505",
        static: true,
        trusted: false
    }],
    protocols: {
      servicechain: {
        head: "0x033e9cc7df278e384e8c4d2bae71ceb644a3f749b55d656e6380b0bbad46b0b4",
        version: 1
      }
    }
}]

subbridge.operators
{
  childOperator: {
    address: "0x384f4046ba508fb399b994527122c89ce2339d2f",
    chainID: 3334,
    gasPrice: null,
    isNonceSynced: true,
    isUnlocked: true,
    nonce: 14
  },
  parentOperator: {
    address: "0xe6381d948915bd576f065150b42b9ce9922fa9c9",
    chainID: 3333,
    gasPrice: 0,
    isNonceSynced: true,
    isUnlocked: true,
    nonce: 2801
  }
}

subbridge.latestAnchoredBlockNumber
0

subbridge.txPendingCount
2801

parent chain

mainbridge.nodeInfo
{
  id: "0d8a73b23c13bb98bc3e368ab69e92df3955c791ae382515dd63fafb7880eb2bf2bf2cded1ccfba7bb8f7f1d4e2798fbf594295ae26c07819c77fec300349c6f",
  ip: "::",
  kni: "kni://0d8a73b23c13bb98bc3e368ab69e92df3955c791ae382515dd63fafb7880eb2bf2bf2cded1ccfba7bb8f7f1d4e2798fbf594295ae26c07819c77fec300349c6f@[::]:50505?discport=0",
  listenAddr: "[::]:50505",
  name: "0",
  ports: {
    discovery: 0,
    listener: 50505
  },
  protocols: {
    servicechain: {
      blockscore: 3786086,
      config: {
        chainId: 3333,
        deriveShaImpl: 2,
        governance: {...},
        istanbul: {...},
        unitPrice: 0
      },
      genesis: "0x034c352564880dda6cb17b2a7d78e8bafe490af5e2045b4bc90a4d7eaa4f2961",
      head: "0x28deaf90e3c1c0488ab0b7985691a727e1ce7a6bae29a7c1f6712a07c07fc6d9",
      network: 1
    }
  }
}

mainbridge.peers
[{
    caps: ["servicechain/1"],
    id: "10eddf279bb111891566f3fb962e44ce8b9ebe0bc4fb0d5f0df09c711716421e85705649aac581321595a93a75e5f7b85ac1d9eff250b4f3285d0c8e95528acc",
    name: "0",
    networks: [{
        inbound: true,
        localAddress: "10.175.184.127:50505",
        nodeType: "cn",
        remoteAddress: "10.175.184.177:40338",
        static: false,
        trusted: false
    }],
    protocols: {
      servicechain: {
        head: "0xce8b903c69652c421866169b4bcc4b20d586c9e9d2a76fbf38c2ea1c58c33436",
        version: 1
      }
    }
}]

child chain log

TRACE[01/07,20:28:56 +09] [39] Request info                              reqId=&26125 reqErr=nil isUnsubscribe=false reqMethod=klay_Call
DEBUG[01/07,20:28:56 +09] [3] Executing EVM call finished               runtime=1.240561ms
TRACE[01/07,20:28:56 +09] [39] Request info                              reqId=&26127 reqErr=nil isUnsubscribe=false reqMethod=klay_BlockNumber
TRACE[01/07,20:28:56 +09] [39] Request info                              reqId=&26128 reqErr=nil isUnsubscribe=false reqMethod=klay_GetBlockByNumber
TRACE[01/07,20:28:56 +09] [39] Request info                              reqId=&26129 reqErr=nil isUnsubscribe=false reqMethod=klay_GetLogs
TRACE[01/07,20:28:56 +09] [39] Request info                              reqId=&26130 reqErr=nil isUnsubscribe=false reqMethod=klay_GetLogs
TRACE[01/07,20:28:56 +09] [39] Request info                              reqId=&26131 reqErr=nil isUnsubscribe=false reqMethod=klay_GetLogs
TRACE[01/07,20:28:56 +09] [39] Request info                              reqId=&26132 reqErr=nil isUnsubscribe=false reqMethod=klay_Call
DEBUG[01/07,20:28:56 +09] [3] Executing EVM call finished               runtime=608.403µs
TRACE[01/07,20:28:56 +09] [39] Request info                              reqId=&26136 reqErr=nil isUnsubscribe=false reqMethod=klay_BlockNumber
INFO[01/07,20:28:56 +09] [49] Commit new mining work                    number=1585088 hash=799f39…efe2cd                                                      txs=0 elapsed=184.573µs  commitTime=137.802µs finalizeTime=43.194µs
TRACE[01/07,20:28:56 +09] [25] handleRequest                             address=0x93Fb7F773f2F7d88F0FF3FB2273a1Fd91837348F state="Accept request" seq=1585088 number=1585088 hash=341c7f…423a6d
INFO[01/07,20:28:56 +09] [25] received more than 2f agreements and change state to prepared  msgType=1
INFO[01/07,20:28:56 +09] [24] Committed                                 number=1585088 hash=341c7f…423a6d                                                      address=0x93Fb7F773f2F7d88F0FF3FB2273a1Fd91837348F
INFO[01/07,20:28:56 +09] [49] Successfully sealed new block             number=1585088 hash=341c7f…423a6d
TRACE[01/07,20:28:56 +09] [5] Push GC block                             blkNum=1585088 hash=0x8ca89336b2c15918c6ecc328c9204f96a9426f080623eda6464e7d2e61e95ccb
DEBUG[01/07,20:28:56 +09] [47] Dereferenced trie from memory database    nodes=0 size=0.00B time=2.546µs   gcnodes=0 gcsize=0.00B gctime=53.993µs  livenodes=1 livesize=0.00B
DEBUG[01/07,20:28:56 +09] [5] GC cached node                            currentBlk=1585088 chosenBlk=1584960 deferenceCnt=1
INFO[01/07,20:28:56 +09] [49] Successfully wrote mined block            num=1585088 hash=341c7f…423a6d                                                      txs=0 elapsed=435.545µs
INFO[01/07,20:28:56 +09] [49] Mining too far in the future              wait=1s
TRACE[01/07,20:28:56 +09] [25] Received a final committed proposal       address=0x93Fb7F773f2F7d88F0FF3FB2273a1Fd91837348F state=Committed
TRACE[01/07,20:28:56 +09] [41] Propagated block                          hash=341c7f…423a6d                                                      CN recipients=0 PN recipients=1 duration=2562047h47m16.854s
TRACE[01/07,20:28:56 +09] [25] Catch up latest proposal                  address=0x93Fb7F773f2F7d88F0FF3FB2273a1Fd91837348F old_round=0  old_seq=1585088 number=1585088 hash=341c7f…423a6d
DEBUG[01/07,20:28:56 +09] [25] New RoundChangeTimer Set                  seq=1585089 round=0 timeout=10s
DEBUG[01/07,20:28:56 +09] [25] New round                                 address=0x93Fb7F773f2F7d88F0FF3FB2273a1Fd91837348F old_round=0  old_seq=1585088 old_proposer=0x93Fb7F773f2F7d88F0FF3FB2273a1Fd91837348F new_round=0 new_seq=1585089 new_proposer=0x93Fb7F773f2F7d88F0FF3FB2273a1Fd91837348F isProposer=true
TRACE[01/07,20:28:56 +09] [25] New round                                 address=0x93Fb7F773f2F7d88F0FF3FB2273a1Fd91837348F old_round=0  old_seq=1585088 old_proposer=0x93Fb7F773f2F7d88F0FF3FB2273a1Fd91837348F new_round=0 new_seq=1585089 size=1     valSet=[0x93Fb7F773f2F7d88F0FF3FB2273a1Fd91837348F]
TRACE[01/07,20:28:56 +09] [33] Propagated block                          id=3f23bfc309c32d00 conn=inbound    peer=3f23bfc309c32d00 number=1585088 hash=341c7f…423a6d                                                      td=1585089
TRACE[01/07,20:28:56 +09] [41] Announced block                           hash=341c7f…423a6d                                                      recipients=0 duration=2562047h47m16.854s
DEBUG[01/07,20:28:56 +09] [5] Reinjecting stale transactions            count=0

parent chain log

INFO[01/07,20:05:23 +09] [49] Commit new mining work                    number=3785113 hash=7965db…4c4688                                                      txs=0 elapsed=197.252µs  commitTime=118.971µs finalizeTime=74.135µs
TRACE[01/07,20:05:23 +09] [25] handleRequest                             address=0xd813D8F2Ee463c198019b10fb396f4dCFe421e38 state="Accept request" seq=3785113 number=3785113 hash=0a90b0…6628b2
INFO[01/07,20:05:23 +09] [25] received more than 2f agreements and change state to prepared  msgType=1
INFO[01/07,20:05:23 +09] [24] Committed                                 number=3785113 hash=4f5a99…917801                                                      address=0xd813D8F2Ee463c198019b10fb396f4dCFe421e38
DEBUG[01/07,20:05:23 +09] [29] Queued propagated block                   peer=istanbul         number=3785113 hash=4f5a99…917801                                                      queued=1
DEBUG[01/07,20:05:23 +09] [29] Importing propagated block                peer=istanbul         number=3785113 hash=4f5a99…917801
TRACE[01/07,20:05:23 +09] [41] Propagated block                          hash=4f5a99…917801                                                      CN recipients=3 PN recipients=1 duration=2562047h47m16.854s
TRACE[01/07,20:05:23 +09] [33] Propagated block                          id=2120d58851d0fa64 conn=staticdial peer=2120d58851d0fa64 number=3785113 hash=4f5a99…917801                                                      td=3785114
TRACE[01/07,20:05:23 +09] [33] Propagated block                          id=3d4cc7f4bf991e6f conn=staticdial peer=3d4cc7f4bf991e6f number=3785113 hash=4f5a99…917801                                                      td=3785114
TRACE[01/07,20:05:23 +09] [33] Propagated block                          id=56e598fa75aab592 conn=staticdial peer=56e598fa75aab592 number=3785113 hash=4f5a99…917801                                                      td=3785114
TRACE[01/07,20:05:23 +09] [33] Propagated block                          id=2b3cb0850426baac conn=inbound    peer=2b3cb0850426baac number=3785113 hash=4f5a99…917801                                                      td=3785114
TRACE[01/07,20:05:23 +09] [5] Push GC block                             blkNum=3785113 hash=0x9f98d4fbf4c987bc3205f0226594864b7621e4a049456402a1d68a7aa2a94f4e
DEBUG[01/07,20:05:23 +09] [47] Dereferenced trie from memory database    nodes=0  size=0.00B   time=2.832µs    gcnodes=0   gcsize=0.00B   gctime=37.169µs  livenodes=1   livesize=0.00B
DEBUG[01/07,20:05:23 +09] [5] GC cached node                            currentBlk=3785113 chosenBlk=3784985 deferenceCnt=1
INFO[01/07,20:05:23 +09] [5] Inserted a new block                      number=3785113 hash=4f5a99…917801                                                      txs=0 gas=0      elapsed=1.414ms    processTxs=313ns     finalize=80.644µs  validateState=5.112µs   totalWrite=1.075638ms trieWrite=927.917µs
INFO[01/07,20:05:23 +09] [49] Mining too far in the future              wait=1s
DEBUG[01/07,20:05:23 +09] [5] Reinjecting stale transactions            count=0
TRACE[01/07,20:05:23 +09] [25] Received a final committed proposal       address=0xd813D8F2Ee463c198019b10fb396f4dCFe421e38 state=Committed
TRACE[01/07,20:05:23 +09] [45] bridgeNode block number                   number=3785113
TRACE[01/07,20:05:23 +09] [45] ChildChainIndexing is disabled. Skipped to write anchoring data on chainDB  Head block=3785113
TRACE[01/07,20:05:23 +09] [25] Catch up latest proposal                  address=0xd813D8F2Ee463c198019b10fb396f4dCFe421e38 old_round=0  old_seq=3785113 number=3785113 hash=4f5a99…917801
DEBUG[01/07,20:05:23 +09] [25] New RoundChangeTimer Set                  seq=3785114 round=0 timeout=10s
DEBUG[01/07,20:05:23 +09] [25] New round                                 address=0xd813D8F2Ee463c198019b10fb396f4dCFe421e38 old_round=0  old_seq=3785113 old_proposer=0x8A058D96E51B42A2DFac533eaFC08aF05778b0d3 new_round=0 new_seq=3785114 new_proposer=0x8c4Aac90398E30b306B9bB1F1bA03915Bf76191e isProposer=false
TRACE[01/07,20:05:23 +09] [25] New round                                 address=0xd813D8F2Ee463c198019b10fb396f4dCFe421e38 old_round=0  old_seq=3785113 old_proposer=0x8A058D96E51B42A2DFac533eaFC08aF05778b0d3 new_round=0 new_seq=3785114 size=4       valSet="[0x31c51747E42DC491bfb522c42BB4CB280d43c0AF 0x8A058D96E51B42A2DFac533eaFC08aF05778b0d3 0x8c4Aac90398E30b306B9bB1F1bA03915Bf76191e 0xd813D8F2Ee463c198019b10fb396f4dCFe421e38]"
TRACE[01/07,20:05:23 +09] [41] Announced block                           hash=4f5a99…917801                                                      recipients=0 duration=2562047h47m16.854s

//요런 로그가 한번씩 보이긴 합니다.
TRACE[01/07,20:08:03 +09] [5] Discarding invalid transaction            hash=1fed97…c0a045                                                      err="invalid chain id"

@jaeholee 안녕하세요,

parentOperatorBalance는 확인해보셨는지요?

> subbridge.parentOperatorBalance
1e+50

마지막 로그를 보면 invalid chain id라고 나오는데 chainId를 제대로 설정하였는지 확인한번 부탁드립니다.
parent chain id가 3333이고, chaild chain id가 3334가 맞을까요?

config도 추가해주시면 더 좋을 것 같습니다.

감사합니다.

안녕하세요~ 말씀주신 정보 공유 드립니다

image

parent chain conf

# Configuration file for the kscnd

SCSIGNER=
#SCSIGNER_PASSWD_FILE="/etc/kscnd/conf/kscnd.password"   # Need to right password file for the keystore file of the service chain signer address

NETWORK_ID=3333

PORT=30000 # if EN(main-bridge) and SCN(sub-bridge) on same instance, use different port with EN.(EN: 32323, SCN:22323)

SERVER_TYPE="fasthttp"
SYNCMODE="full"
VERBOSITY=5
MAXCONNECTIONS=2000

# txpool options setting
TXPOOL_EXEC_SLOTS_ALL=16384
TXPOOL_NONEXEC_SLOTS_ALL=16384
TXPOOL_EXEC_SLOTS_ACCOUNT=16384
TXPOOL_NONEXEC_SLOTS_ACCOUNT=16384
TXPOOL_LIFE_TIME="5m"

# rpc options setting
RPC_ENABLE=1 # if this is set, the following options will be used
RPC_API="admin,debug,klay,miner,net,personal,rpc,txpool,web3,mainbridge,subbridge" # available apis: admin,debug,klay,miner,net,personal,rpc,txpool,web3,mainbridge,subbridge
RPC_PORT=8551         # if main-bridge and sub-bridge on same instance, use different port with main-bridge.(main: 8551, sub:7551)
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="admin,debug,klay,miner,net,personal,rpc,txpool,web3,mainbridge,subbridge"
WS_ADDR="0.0.0.0"
WS_PORT=8552    # if main-bridge and sub-bridge on same instance, use different port with main-bridge.(main: 8552, sub:7552)
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=0

SC_SUB_BRIDGE=0
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=0
SC_ANCHORING_PERIOD=10
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=1
METRICS=1
PROMETHEUS=1
NO_DISCOVER=1
DB_NO_PARALLEL_WRITE=0
MULTICHANNEL=1
SUBPORT=$((PORT + 1)) # used for multi channel option
VTRECOVERY=1 # value transfer recovery

# Raw options e.g) "--txpool.nolocals"
ADDITIONAL=""

DATA_DIR=/home/klaytn_admin/data
LOG_DIR=$DATA_DIR/logs

child chain conf

# Configuration file for the kscnd

SCSIGNER=
#SCSIGNER_PASSWD_FILE="/etc/kscnd/conf/kscnd.password"   # Need to right password file for the keystore file of the service chain signer address

NETWORK_ID=3334

PORT=30000 # if EN(main-bridge) and SCN(sub-bridge) on same instance, use different port with EN.(EN: 32323, SCN:22323)

SERVER_TYPE="fasthttp"
SYNCMODE="full"
VERBOSITY=5

# txpool options setting
TXPOOL_EXEC_SLOTS_ALL=16384
TXPOOL_NONEXEC_SLOTS_ALL=16384
TXPOOL_EXEC_SLOTS_ACCOUNT=16384
TXPOOL_NONEXEC_SLOTS_ACCOUNT=16384
TXPOOL_LIFE_TIME="5m"

# rpc options setting
RPC_ENABLE=1 # if this is set, the following options will be used
RPC_API="admin,debug,klay,miner,net,personal,rpc,txpool,web3,mainbridge,subbridge" # available apis: admin,debug,klay,miner,net,personal,rpc,txpool,web3,mainbridge,subbridge
RPC_PORT=8551         # if main-bridge and sub-bridge on same instance, use different port with main-bridge.(main: 8551, sub:7551)
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="admin,debug,klay,miner,net,personal,rpc,txpool,web3,mainbridge,subbridge"
WS_ADDR="0.0.0.0"
WS_PORT=8552    # if main-bridge and sub-bridge on same instance, use different port with main-bridge.(main: 8552, sub:7552)
WS_ORIGINS="*"

# service chain options setting
SC_MAIN_BRIDGE=0 # if this is set, the following options will be used.
SC_MAIN_BRIDGE_PORT=50505
SC_MAIN_BRIDGE_INDEXING=0

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=3333

SC_ANCHORING=1
SC_ANCHORING_PERIOD=10
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=1
METRICS=1
PROMETHEUS=1
NO_DISCOVER=1
DB_NO_PARALLEL_WRITE=0
MULTICHANNEL=1
SUBPORT=$((PORT + 1)) # used for multi channel option
VTRECOVERY=1 # value transfer recovery

# Raw options e.g) "--txpool.nolocals"
ADDITIONAL=""

DATA_DIR=/home/klaytn_admin/data
LOG_DIR=$DATA_DIR/logs

@jaeholee 안녕하세요, 확인해볼 수 있는 부분은 다음과 같습니다.

  1. 같은 인스턴스라면 포트가 겹치지 않게 확인 한 번 부탁드립니다.
  2. main-bridges.json파일에 올바른 정보가 기입되어있는지 확인부탁드립니다.

감사합니다.