네임스페이스 subbridge
는 서비스체인과 관련된 함수를 제공합니다. 이 네임스페이스에 있는 함수를 사용하려면, 서비스체인에 연결된 SEN에서 subbridge
옵션이 활성화되어 있어야 합니다.
subbridge_nodeInfo
Returns bridge node information including the KNI (Klaytn Network Identifier) of the node. 서브브리지 노드는 KNI를 통해 메인브리지 노드에 연결할 수 있습니다.
Parameters
None
Return Value
Example
Copy > subbridge .nodeInfo
{
kni: "kni://f8a1f0cd1e2bebeece571e4fda16e215218fd4b9bc2eddd924f7cd5b5f950fcec8f4b8cd3851390d1d0bacf1b15e1c4a38c882252e429a28d16eeb6edbacd726@[::]:50505?discport=0",
id: "f8a1f0cd1e2bebeece571e4fda16e215218fd4b9bc2eddd924f7cd5b5f950fcec8f4b8cd3851390d1d0bacf1b15e1c4a38c882252e429a28d16eeb6edbacd726",
ip : "::" ,
listenAddr : "[::]:50505" ,
name : "-2" ,
ports : {
discovery : 0 ,
listener : 50505
} ,
protocols : {
servicechain : {
config : {
chainId : 2018 ,
deriveShaImpl : 0 ,
isBFT : true ,
istanbul : { ... } ,
unitPrice : 0
} ,
difficulty : 87860 ,
genesis : "0x711ce9865492659977abb2758d29f68c2b0c82862d9376f25953579f64f95b58" ,
head : "0x0d4b130731f1e7560e4531ac73d55ac8c6daccb178abd86af0d96b7aafded7c5" ,
network : 1
}
}
}
subbridge_addPeer
메인브리지 피어 추가가 성공적으로 완료되면 true
을 반환합니다.
addPeer
메소드는 새 원격 노드(remote node)를 피어 목록에 추가합니다. The node will try to maintain connectivity to these nodes at all times, reconnecting every once in a while if the remote connection goes down.
The method accepts a single argument, the kni
URL of the remote peer to start tracking and returns a BOOL
indicating whether the peer was accepted for tracking or some error occurred.
Parameters
Return Value
Example
Console
Copy > mainbridge .addPeer ( "kni://a979fb...1163c@10.0.0.1:50505" ) // or 'subbridge.addPeer'
true
HTTP RPC
Copy $ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"mainbridge_addPeer","params":["kni://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@10.0.0.1:50505"],"id":1}' https://public-en-baobab.klaytn.net
{ "jsonrpc" : "2.0" , "id" :1, "result" :true}
subbridge_removePeer
Returns true
if removing the peer is done successfully.
The removePeer
method disconnects and removes the remote node in the list of tracked static nodes. The method accepts a single argument, the kni
URL of the remote peer to start tracking and returns a BOOL
indicating whether the peer was accepted for tracking or some error occurred.
Parameters
Return Value
Example
Console
Copy > mainbridge .removePeer ( "kni://a979fb...1163c@10.0.0.1:50505" ) // or 'subbridge.removePeer'
true
HTTP RPC
Copy $ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"mainbridge_removePeer","params":["kni://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@10.0.0.1:50505"],"id":1}' https://public-en-baobab.klaytn.net
{ "jsonrpc" : "2.0" , "id" :1, "result" :true}
subbridge_parentOperator
subbridge_parentOperator
는 부모 오퍼레이터 계정 주소를 반환합니다.
Parameters
none
Return Value
Example
Copy > subbridge .parentOperator
"0xA057995175B93Ee0D1bdfA54f078Ad0F0116130b"
subbridge_childOperator
subbridge_childOperator
는 자식 오퍼레이터 계정 주소를 반환합니다.
Parameters
none
Return Value
Example
Copy > subbridge .childOperator
"0x5C1C757a6Cb6c6FcEFE398674D8209FDA2A74Df4"
subbridge_parentOperatorNonce
subbridge_parentOperatorNonce
는 부모 오퍼레이터 계정 주소의 논스를 반환합니다.
Parameters
none
Return Value
Example
Copy > subbridge .parentOperatorNonce
1348
subbridge_childOperatorNonce
The subbridge_childOperator
returns the child operator account address.
Parameters
none
Return Value
Example
Copy > subbridge .childOperatorNonce
1024
subbridge_parentOperatorBalance
subbridge_parentOperatorBalance
는 부모 오퍼레이터 계정의 잔액을 반환합니다.
Parameters
none
Return Value
Example
Copy > subbridge .parentOperatorBalance
1e+50
subbridge_childOperatorBalance
subbridge_childOperatorBalance
는 자식 오퍼레이터 계정의 잔액을 반환합니다.
Parameters
none
Return Value
Example
Copy > subbridge .childOperatorBalance
1e+50
subbridge_sendChainTxslimit
sendChainTxslimit
은 한 번에 보내기 위해 대기 중인 보류 트랜잭션 수의 최댓값을 가져옵니다.
Parameters
None
Return Value
Example
Copy > subbridge .sendChainTxslimit
100
subbridge_anchoring
subbridge_anchoring
은 서비스체인의 앵커링 기능을 활성화/비활성화 합니다.
Parameters
Return Value
Example
Console
Copy > subbridge .anchoring ( true )
true
> subbridge .anchoring ( false )
false
HTTP RPC
Copy $ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"subbridge_anchoring","params":[true],"id":1}' https://public-en-baobab.klaytn.net
{ "jsonrpc" : "2.0" , "id" :1, "result" :true}
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"subbridge_anchoring","params":[false],"id":1}' https://public-en-baobab.klaytn.net
{ "jsonrpc" : "2.0" , "id" :1, "result" :false}
subbridge_latestAnchoredBlockNumber
subbridge_latestAnchoredBlockNumber
는 서비스체인의 가장 최근에 앵커링된 블록 번호를 반환합니다.
Parameters
None
Return Value
Example
Copy > subbridge .latestAnchoredBlockNumber
71025
subbridge_getReceiptFromParentChain
subbridge_getReceiptFromParentChain
은 앵커링 트랜잭션의 영수증을 반환합니다.
Parameters
Return Value
Object
- 트랜잭션 영수증 객체를 반환하거나 영수증을 찾을 수 없는 경우 null
을 반환.
Example
Copy > subbridge .getReceiptFromParentChain ( "0x4f300d6574e71d7940c88fe08f27d9ac45cbc7b81d45c17e848d3772f64377b5" )
{
contractAddress : "0x0000000000000000000000000000000000000000" ,
gasUsed : "0x9470" ,
logs : [] ,
logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
status : "0x1" ,
transactionHash : "0x3641f52359f44ef2a9941ea840aed4befbace5cac28d5cc8cacd94eae211fd1e"
}
subbridge_deployBridge
subbridge_deployBridge
는 부모와 자식 체인에 브리지 컨트랙트를 배포하고 주소를 반환합니다. 이 메소드는 또한 브리지 컨트랙트를 서브 브리지에 등록합니다.
Parameters
none
Return Value
Example
Copy > subbridge .deployBridge ()
[ "0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a" , "0x23dab942822021bbd6d551ef51003208924877e4" ]
subbridge_registerBridge
subbridge_registerBridge
는 부모/자식 체인에 배포된 브리지 컨트랙트를 등록합니다.
Parameters
Return Value
Example
Copy > subbridge .registerBridge ( "0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a" , "0x23dab942822021bbd6d551ef51003208924877e4" )
null
> subbridge .registerBridge ( "0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a" , "0x23dab942822021bbd6d551ef51003208924877e4" )
Error : bridge already exists
subbridge_deregisterBridge
subbridge_deregisterBridge
는 부모/자식 체인에 있는 등록된 브리지 컨트랙트를 등록 해지합니다.
Parameters
Return Value
Example
Copy > subbridge.deregisterBridge("0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a", "0x23dab942822021bbd6d551ef51003208924877e4")
null
> subbridge.deregisterBridge("0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a", "0x23dab942822021bbd6d551ef51003208924877e4")
Error : invalid bridge pair
subbridge_subscribeBridge
subbridge_subscribeBridge
는 부모/자식 체인에 등록된 브리지 컨트랙트를 구독합니다. 서브 브리지 노드가 브리지 컨트랙트 쌍을 구독하면, 서브 브리지는 체인 간 밸류 트랜스퍼 요청을 자동으로 처리합니다.
Parameters
Return Value
Example
Copy > subbridge .subscribeBridge ( "0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a" , "0x23dab942822021bbd6d551ef51003208924877e4" )
null
> subbridge .subscribeBridge ( "0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a" , "0x23dab942822021bbd6d551ef51003208924877e4" )
Error : already subscribed
subbridge_unsubscribeBridge
subbridge_unsubscribeBridge
는 부모/자식 체인의 브리지 컨트랙트 구독을 해지합니다. 서브 브리지가 브리지 컨트랙트 쌍의 구독을 해지하면, 서브 브리지는 체인 간 밸류 트랜스퍼 요청을 더 이상 처리하지 못합니다.
Parameters
Return Value
Example
Copy > subbridge.unsubscribeBridge("0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a", "0x23dab942822021bbd6d551ef51003208924877e4")
null
subbridge_registerToken
subbridge_registerToken
은 한 쌍의 ERC-20 또는 721 토큰을 브리지 컨트랙트에 등록합니다.
Parameters
Return Value
Example
Copy > subbridge.registerToken("0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a", "0x23dab942822021bbd6d551ef51003208924877e4","0xA4b0c6e12346426a09FaD70dAE0651E6Dbdd5198","0x865Cca53828C91663BFf0Ca9808827Bac552BAec")
null
> subbridge.registerToken("0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a", "0x23dab942822021bbd6d551ef51003208924877e4","0xA4b0c6e12346426a09FaD70dAE0651E6Dbdd5198","0x865Cca53828C91663BFf0Ca9808827Bac552BAec")
Error : token already exists
subbridge_deregisterToken
subbridge_deregisterBridge
는 브리지 컨트랙트에 등록된 한 쌍의 토큰 컨트랙트를 등록 취소합니다.
Parameters
Return Value
Example
Copy > subbridge.deregisterToken("0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a", "0x23dab942822021bbd6d551ef51003208924877e4","0xA4b0c6e12346426a09FaD70dAE0651E6Dbdd5198","0x865Cca53828C91663BFf0Ca9808827Bac552BAec")
null
> subbridge.deregisterToken("0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a", "0x23dab942822021bbd6d551ef51003208924877e4","0xA4b0c6e12346426a09FaD70dAE0651E6Dbdd5198","0x865Cca53828C91663BFf0Ca9808827Bac552BAec")
Error : invalid token pair
subbridge_convertRequestTxHashToHandleTxHash
subbridge_convertRequestTxHashToHandleTxHash
는 주어진 "request value transfer transaction" 해시에 상응하는 반대편 체인에 있는 "handle value transfer transaction" 해시를 리턴합니다. "Request value transfer transaction"은 사용자가 체인 간 밸류 트랜스퍼를 요청하기 위해 생성한 트랜잭션입니다. "Handle value transfer transaction"은 서브 브리지가 사용자의 밸류 트랜스퍼 요청을 처리하기 위해 생성한 트랜잭션입니다.
Parameters
Return Value
Example
Copy > subbridge .convertRequestTxHashToHandleTxHash ( "0xae5604f8673098436ee4eaf1b453f1a395afccd6e8eb674c60edd63ebb047622" )
"0x97493d1a91d65c149763209be6535efdacf8f1b50c99daa22abf06502010b2ee"
> subbridge .convertRequestTxHashToHandleTxHash ( "0xc585cfd1e7047b4faae69e62e77db192d8a339701b40d6ab4adb58453b934bec" )
"0x0000000000000000000000000000000000000000000000000000000000000000"
subbridge_listBridge
subbridge_listBridge
는 서브 브리지에 등록(저장)되어 있는 모든 브리지 컨트랙트 쌍의 리스트를 반환합니다.
Parameters
nonce
Return Value
Example
Copy > subbridge .listBridge
[{
localAddress : "0x27caeba831d98b5fbb1d81ce0ed20801702f443a" ,
remoteAddress : "0x22c41ae528627b790233d2e59ea520be12350eb5" ,
subscribed : true
} , {
localAddress : "0x376b72abe1b29cace831bd3f5acdfa967814c9cd" ,
remoteAddress : "0x53160735f7cc6ff75e48619f368bb94daff66a1b" ,
subscribed : false
} , {
localAddress : "0x87d6b9c567e5b84cd00e03bfbe6d20d88209c33a" ,
remoteAddress : "0x23dab942822021bbd6d551ef51003208924877e4" ,
subscribed : false
}]
subbridge_getBridgeInformation
subbridge_getBridgeInformation
은 주어진 브리지 컨트랙트의 정보를 반환합니다.
Parameters
Return Value
Example
Copy > subbridge .getBridgeInformation ( "0x27caeba831d98b5fbb1d81ce0ed20801702f443a" )
{
counterPart : "0x0000000000000000000000000000000000000000" ,
handleNonce : 0 ,
lowerHandleNonce : 0 ,
isRunning : true ,
isSubscribed : true ,
onServiceChain : true ,
pendingEventSize : 0 ,
requestNonce : 0
}
subbridge_txPendingCount
subbridge_txPendingCount
는 브리지 트랜잭션 풀에 있는 pending 트랜잭션 개수를 반환합니다.
Parameters
None
Return Value
Example
Copy > subbridge .txPendingCount
2
subbridge_txPending
subbridge_txPending
은 브리지 트랜잭션 풀에 있는 pending 트랜잭션 목록을 반환합니다.
Parameters
None
Return Value
Example
Copy > subbridge .txPending
{
0xa057995175b93ee0d1bdfa54f078ad0f0116130b : [{
from : "0xa057995175b93ee0d1bdfa54f078ad0f0116130b" ,
gas : "0x186a0" ,
gasPrice : "0x5d21dba00" ,
hash : "0x284c8f5bc82ef987c3a14fc8dac7933beb528777745987ff790014441f26ca03" ,
input: "0xf8a9a063f41a6ec8e2f8074c30fccf11f2b8479e7ebd8a0e5aa0c171623bc1f3812e33a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0f845557d8dc2175974f29c2e9d12b1a57f634acaafdf56ae7033201a0796bedea056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a09109530b191b47ca3d91012faba70fcf307f13b030f19d932cab38f2c1ece7b78304157c",
nonce : "0x41589" ,
signatures : [{ ... }] ,
type : "TxTypeChainDataAnchoring" ,
typeInt : 72
} , {
from : "0xa057995175b93ee0d1bdfa54f078ad0f0116130b" ,
gas : "0x186a0" ,
gasPrice : "0x5d21dba00" ,
hash : "0x4dd093916a419608091da28b5d7ffc6e34d894ddaac96328f1904bfef93a4ad0" ,
input: "0xf8a9a05b0dd6cc938916e37b17b602690399987b4e8540a14a494626d85e947f721a10a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a063f41a6ec8e2f8074c30fccf11f2b8479e7ebd8a0e5aa0c171623bc1f3812e33a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a09109530b191b47ca3d91012faba70fcf307f13b030f19d932cab38f2c1ece7b78304157d",
nonce : "0x4158a" ,
signatures : [{ ... }] ,
type : "TxTypeChainDataAnchoring" ,
typeInt : 72
}]
}