微众WeCross 跨链平台(12)合约总结
生活随笔
收集整理的這篇文章主要介紹了
微众WeCross 跨链平台(12)合约总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 合約跨鏈調用原理
由合約發起跨鏈調用。業務合約通過調用WeCross提供的橋接合約注冊跨鏈調用請求,跨鏈路由會定時輪詢橋接合約獲取跨鏈請求并完成對目標鏈的調用,之后再進行回調并保存回調結果。
eg. solidity 合約
/* * 注冊跨鏈調用請求 * * @param _path 目標鏈合約的路徑 * @param _method 調用方法名 * @param _args 調用參數列表 * @param _callbackPath 回調的合約路徑 * @param _callbackMethod 回調方法名 * @return 跨鏈請求的唯一ID **/function interchainInvoke( string memory _path, string memory _method, string[] memory _args, string memory _callbackPath, string memory _callbackMethod) public returns(string memory)2. 合約分類
針對各種鏈提供內置功能合約,幫助WeCross 實現鏈級別的管理,如合約調用、事務控制以及跨鏈交互等。
- 在首次啟動跨鏈路由時,用戶可根據提示一步一步完成所有系統合約的部署。
2.1 代理合約(WeCrossProxy)
WeCross接入一條新區塊鏈時首先需要在該鏈部署代理合約,代理合約是WeCross調用業務鏈其它合約的統一入口。
- 通過constantCall和sendTransaction兩個接口實現對目標合約的讀寫操作。
- 代理合約目前還負責WeCross事務狀態的管理和資源的訪問控制。
- 跨鏈路由通過調度各個鏈代理合約的startXA-Transaction、commitXATransactionrollbackXATransac-tion接口完成事務控制。
- 在合約跨鏈調用場景中,代理合約還負責跨鏈交易的去重,以契合跨鏈路由的多活部署架構。
2.2 橋接合約(WeCrossHub)
橋接合約主要負責合約跨鏈調用。
step1. 業務合約調用橋接合約的接口注冊跨鏈調用請求(目標鏈資源路徑、方法名、參數列表、回調資源路徑、回調方法名);
step2. 跨鏈路由通過輪詢橋接合約獲得跨鏈調用請求,然后完成對目標鏈的調用以及回調;
steo3. 跨鏈路由將該次的跨鏈調用結果保存到橋接合約中,供業務合約查詢。
總結
以上是生活随笔為你收集整理的微众WeCross 跨链平台(12)合约总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微众WeCross 跨链平台(11)系统
- 下一篇: 微众WeCross 跨链平台(13)开发