平行链接入TRON主链

两条链要进行跨链通信,需要它们互为对方的平行链,即互相竞拍成功对方的平行链卡槽,并作为平行链接入到对方链上。目前提供白名单的方式将TRON主链接入到自己的卡槽中,以免除TRON主链来竞拍自己的卡槽,需要注意的是如果使用白名单的方式,平行链所有节点都需要将白名单添加到节点配置文件。

平行链白名单配置

配置示例:

crossChain = {
 refresh = false
 whiteList = [
    {
       ownerAddress = "41A1FA2B6729C898ADB9AE752F879F0AE405408E49"
       proxyAddress = "41A1FA2B6729C898ADB9AE752F879F0AE405408E49"
       chainId = "000000000000000019b59068c6058ff466ccf59f2c38a0df1c330b9b7e8dcc4c"
       srList = ["4154D65E4EBFAA5F7DCC3FBBA318A029EA95CD9CCE","41DDFA2D6F062941A779B7BE09493D352A17FEE64D","419B9FD7014AE4C62ADCB4ABC7A18517BA22941C3B","4175FB40C9CCC98A7DCD7FE33595D11787388A5B56","4195DDDA5C3C40E18458EFEE274B498087D4A9081E","41A1FA2B6729C898ADB9AE752F879F0AE405408E49"]
       beginSyncHeight = 1
       maintenanceTimeInterval = 300000
       parentBlockHash = "000000000000000019b59068c6058ff466ccf59f2c38a0df1c330b9b7e8dcc4c"
       blockTime = 1619330610000
     }
 ]
}

参数说明:
owner_address 注册账号地址,hexString格式
proxy_address 代理账号地址,hexString格式
chain_id 平行链ID,应为平行链创世块block hash
sr_list TRON主链的SR地址列表
begin_sync_height 平行链起始同步块。平行链会从主网的这个区块开始同步区块头,用于SPV验证。
maintenance_time_interval 维护期间隔
parent_block_hash 起始同步区块的父区块哈希
block_time 起始同步的区块时间

备注:
refresh为true时,节点每次启动都会初始化跨链白名单,否则,节点只在配置白名单后的第一次启动时初始化跨链白名单。

平行链连接

当平行链获得TRON主链的卡槽后,就可通过配置信使节点(一种特殊类型的fullnode,负责建立跨链连接、同步对方链的区块头以及转发跨链交易)来与TRON主链中的信使节点建立跨链连接。

平行链信使节点配置示例:

node.crossChain {
   port = 16001 #Customise with your need
   ip =[
     "127.0.0.1:16003" #The IP and port of the TRON main chain messenger node that needs to be connected
     # "ip:port"
   ]
 }

TRON主链信使节点配置:

node.crossChain {
   port = 16003 #Customise with your need
   ip =[
     "127.0.0.1:16001" #The IP and port of the parachain messenger node that needs to be connected
     # "ip:port"
   ]
 }

备注:
成功竞拍TRON主链的平行链可自行搭建TRON主链信使节点。

当两条链的信使节点都启动后,信使节点间会建立跨链连接,并开始同步区块头。日志示例如下: