趣链 BitXHub跨链平台 (3)跨链交易流程
1. 流程圖
執(zhí)行跨鏈調用之前需要執(zhí)行一些準備工作,包括應用鏈注冊,驗證規(guī)則注冊以及跨鏈雙方的業(yè)務鏈上依據(jù)我們的跨鏈合約撰寫規(guī)則設置好相應的跨鏈合約。
1.1 步驟
step1. SDK 調用 具體的業(yè)務鏈A的合約方法;
step2. 合約方法被執(zhí)行,拋出跨鏈事件T1;
step3. 業(yè)務鏈A的跨鏈網(wǎng)關監(jiān)聽到T1, 將其轉換成IBTP結構,提交到中繼鏈BitXHub上;
step4. BitXHub 依據(jù)相關規(guī)則對T1進行驗證以及路由;
step5. 業(yè)務鏈B的跨鏈網(wǎng)關接受到T1并根據(jù)IBTP結構進行解析,轉換成業(yè)務鏈B可識別的交易Tb,并將Tb提交到業(yè)務鏈B上進行執(zhí)行。
1.2 進一步細化
step1.Monitor監(jiān)聽
跨鏈網(wǎng)關PA啟動之后,應用鏈A發(fā)起一筆跨鏈交易,Monitor模塊監(jiān)聽到該跨鏈交易,跨鏈網(wǎng)關對于該跨鏈交易做出檢查之后,保存相應的跨鏈交易。
step2.Exchanger轉發(fā)
Exchanger獲取Monitor收到的跨鏈交易,作相應的檢查后,進行轉發(fā)。轉發(fā)過程中,根據(jù)跨鏈交易的目的鏈ID以及連接的是中繼鏈還是直連的其他跨鏈網(wǎng)關等信息,轉發(fā)到正確的路由路徑。
-
中繼鏈模式
通過中繼鏈的SDK,提交跨鏈交易到中繼鏈的內置合約上,中繼鏈記錄并執(zhí)行驗證,轉發(fā)等操作。 -
直連模式
通過P2P網(wǎng)絡連接其他跨鏈網(wǎng)關,通過跨鏈交易的目的鏈ID來轉發(fā)到相應的跨鏈網(wǎng)關。
step3. Exchanger接受外部跨鏈交易
- 中繼鏈模式
Exchanger 的子模塊Lite和Syncer負責同步中繼鏈的區(qū)塊頭和跨鏈交易的信息,對于驗證通過的跨鏈交易,Exchanger進行轉送到Executor中。 - 直連模式
Exchanger通過P2P網(wǎng)絡收到對方跨鏈網(wǎng)關發(fā)送的跨鏈交易,并作出相應的驗證操作。驗證通過的跨鏈交易轉送到Executor中。
Executor提交跨鏈交易到應用鏈上,并根據(jù)執(zhí)行的結果,構造返回的回執(zhí)類型的IBTP包,轉送到Exchanger進行下一步的轉發(fā)工作。
step4.Exchanger 接收外部回執(zhí)
來源鏈發(fā)送的跨鏈交易在目的鏈執(zhí)行之后,返回回執(zhí)信息又回到了來源鏈的跨鏈網(wǎng)關之后,進行如下的處理。
- 中繼鏈模式
Exchanger 的子模塊Lite和Syncer負責同步中繼鏈的區(qū)塊頭和跨鏈交易的信息,對于驗證通過的跨鏈交易和回執(zhí)信息,Exchanger進行轉送到Executor中。Executor 模塊能夠按照IBTP的類型判斷對應的處理方式。對于其他鏈主動的調用的IBTP,需要發(fā)回回執(zhí),而對于其他鏈發(fā)回的回執(zhí)就不再構造回執(zhí)返回。
- 直連模式
Exchanger通過P2P網(wǎng)絡收到對方跨鏈網(wǎng)關發(fā)送的跨鏈交易,并作出相應的驗證操作。驗證通過的跨鏈交易或者回執(zhí)轉送到Executor中。 Executor 之后的處理方式和中繼鏈模式下類似。
總結
以上是生活随笔為你收集整理的趣链 BitXHub跨链平台 (3)跨链交易流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链BaaS云服务(21)腾讯CCGP
- 下一篇: Hyperledger Fabric 智