서비스 체인 구성 관련 문의 - rewardbase 설정 및 확인 방법

안녕하세요.
서비스체인 구성 테스트 중 reward 설정에 어려움을 겪고 있습니다.

SCN1~4 의 kscnd.conf 에 rewardbase 설정을 했음에도 정상적인 reward 를 받지 못하는 것 같습니다.

kscnd.conf rewardbase 설정 이외에 또 확인해야 하는 부분이 있을까요?

kscn : kscn 1.7.3

governance.chainConfig
{
chainId: 32001,
deriveShaImpl: 2,
governance: {
governanceMode: “single”,
governingNode: “0x1435214d21b1b2efb567f212cc6ad5d085934e3f”,
reward: {
deferredTxFee: false,
minimumStake: 0,
mintingAmount: 9600000000000000000,
proposerUpdateInterval: 5,
ratio: “100/0/0”,
stakingUpdateInterval: 5,
useGiniCoeff: false
}
},
istanbul: {
epoch: 86400,
policy: 0,
sub: 8
},
istanbulCompatibleBlock: 0,
londonCompatibleBlock: 0,
unitPrice: 25000000000
}

klay.rewardbase
“0xa78f2d3a30b094fe025dcd6225ab8f92a27a0a5c”

klay.getBalance(klay.rewardbase)
0

안녕하세요, 클레이튼 포럼에 글을 남겨 주셔서 감사합니다.

혹시 블록이 잘 생성되고 있나요?

> klay.blockNumber
1234
> klay.blockNumber
1235

명령어를 통해 블록이 잘 생성되고 있는지 한 번 확인 부탁드립니다.

블록이 잘 생성되고 있다면, reward가 지급되지 않을 이유가 없어 보입니다. 만약 잘 생성되고 있다면 여전히 reward가 지급되지 않고 있는지 rewardbase의 잔액을 다시 한 번 확인 부탁드리고, 혹시 kscnd.conf 설정 파일 내용을 알려주실 수 있을까요?

감사합니다.

블록은 정상적으로 생성되고 있고, reward 는 아직 못 받고 있습니다.

> klay.rewardbase
"0xa78f2d3a30b094fe025dcd6225ab8f92a27a0a5c"
>
> klay.getBalance(klay.rewardbase)
0
>
> klay.blockNumber
185863
>
>
> klay.blockNumber
185865
>
> klay.blockNumber
185873
>

kscnd.conf 는 아래와 같습니다.

# Configuration file for the kscnd

SCSIGNER=0x1435214d21b1....d5d085934e3f
SCSIGNER_PASSWD_FILE="/var/ksn_testnet/scn_node1/scsigner.password"   # Need to right password file for the keystore file of the service chain signer address

NETWORK_ID=34301

PORT=22001 # 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=3

MAXCONNECTIONS=100
REWARDBASE="0xa78f2d3a30b094fe025dcd6225ab8f92a27a0a5c"

# 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=0 # if this is set, the following options will be used
RPC_API="klay,subbridge" # available apis: admin,debug,klay,miner,net,personal,rpc,txpool,web3,mainbridge,subbridge
RPC_PORT=7501         # 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=0 # if this is set, the following options will be used
WS_API="klay"
WS_ADDR="0.0.0.0"
WS_PORT=7601    # 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=50521  # 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=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=1001

# Setting 1 is to enable options, otherwise disabled.
AUTO_RESTART=1
METRICS=1
PROMETHEUS=1
DB_NO_PARALLEL_WRITE=0
MULTICHANNEL=1
SUBPORT=$((PORT + 10)) # used for multi channel option
VTRECOVERY=1 # value transfer recovery

# discover options
NO_DISCOVER=1 # setting 1 to disable discovery
#BOOTNODES=""

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

DATA_DIR=/var/ksn_testnet/scn_node1
LOG_DIR=/var/ksn_testnet/scn_node1

안녕하세요. init할때 쓰셨던 genesis.json 파일도 혹시 공유해주실 수 있으실까요?

아래와 같습니다.

{
    "config": {
        "chainId": 34301,
        "istanbulCompatibleBlock": 0,
        "londonCompatibleBlock": 0,
        "istanbul": {
            "epoch": 86400,
            "policy": 0,
            "sub": 8
        },
        "unitPrice": 25000000000,
        "deriveShaImpl": 2,
        "governance": {
            "governingNode": "0x1435214d21b1b2efb567f212cc6ad5d085934e3f",
            "governanceMode": "single",
            "reward": {
                "mintingAmount": 9600000000000000000,
                "ratio": "100/0/0",
                "useGiniCoeff": false,
                "deferredTxFee": false,
                "stakingUpdateInterval": 5,
                "proposerUpdateInterval": 5,
                "minimumStake": 0
            }
        }
    },
    "timestamp": "0x61dce9d7",
    "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000f89af854941435214d21b1b2efb567f212cc6ad5d085934e3f94f8b7727903622a12783c67e2a9d66e1b6fa17b0894cb8c82d8a35068874111e1e48cc78149ae8d0f79943e1bd7023d3614e2955a419619873ef9afa450a4b8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0",
    "governanceData": null,
    "blockScore": "0x1",
    "alloc": {
        "0fc7c35c.......90d2699b501e7": {"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"},
        "9dfe0786d...72608bbab13d6cd1": {"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"},
        "d5ef97ad1....16fcf064cb5dcda": {"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"},
        "f23f00822ecc7......5de31762c": {"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"},
        "1ea93fc04...e5382ddc95b92d92": {"balance": "0xc097ce7bc90715b34b9f1000000000"},
        "2bd72db...30b0a7bcfe9....025": {"balance": "0xc097ce7bc90715b34b9f1000000000"},
        "2eabeb5ed...fb1011502e8cacfd": {"balance": "0xc097ce7bc90715b34b9f1000000000"},
        "59721d2...98ad4e37bf8.......": {"balance": "0xc097ce7bc90715b34b9f1000000000"},
        "6cb3ae4ed...1a9d4ca6bf2816e1": {"balance": "0xc097ce7bc90715b34b9f1000000000"},
        "74cc0bc1f...2d929b4ac7fa5b52": {"balance": "0xc097ce7bc90715b34b9f1000000000"},
        "7dad6b121c...18351975ca70ae7": {"balance": "0xc097ce7bc90715b34b9f1000000000"},
        "9a5b1a82...3b15ac223c9aea942": {"balance": "0xc097ce7bc90715b34b9f1000000000"},
        "ffe8028...85da70ea22a...39e1": {"balance": "0xc097ce7bc90715b34b9f1000000000"},
        "1435214d...cc6ad5d085934.e3f": {"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"},
        "3e1bd7023d...73ef9afa450a4..": {"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"},
        "cb8c82d8a...78149ae8d0f79...": {"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"},
        "f8b77279...2a9d66e1b6fa17b08": {"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"}
    },
    "number": "0x0",
    "gasUsed": "0x0",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}

혹시 kscnd.conf 에서
REWARDBASE=“0xa78f2d3a30b094fe025dcd6225ab8f92a27a0a5c”
를 지우고
ADDITIONAL="–rewardbase 0xa78f2d3a30b094fe025dcd6225ab8f92a27a0a5c"
로 바꾸어 보시고 재기동을 부탁 드려도 될까요?

ps. RPC_ENABLE=1
WS_ENABLE=1 으로 변경이 필요할 것 같습니다.

제가 해봐도, REWARDBASE=""에 추가하는게 아니고
–rewardbase 옵션을 additional에 추가해야 리워드가 잘 동작합니다.
한번 시도하시고 잘 되시는지 결과 공유 부탁드립니다.!

1 Like

답변감사합니다.
말씀주신 방법으로 하니, 정상적으로 reward 가 발생하네요!

그런데, cn 으로 구성했을 때는,
conf 의 REWARDBASE 설정이 정상적으로 동작했던걸로 기억하는데,
혹시 kcn vs kscn 에 차이점이 있을까요?

1 Like

저희 팀에서 원인 파악을 해본 결과,
kscnd에서는 kcnd와 달리 REWARDBASE를 파싱해서 설정값으로 추가하는 기능이 없었던 것으로 확인되었습니다.
해당 issue 에서 현재 해결중에 있습니다. 감사합니다.