目前來說巡李,Wecross是最適合用于BCOS的跨鏈系統(tǒng)黄琼。所謂跨鏈崭参,就是鏈上不同的資源進行統(tǒng)一和抽象。下圖是BCOS與Fabric進行跨鏈連接的可視化例子:
搭建Demo
下載腳本
cd ~
# 下載慰于,生成demo文件夾
bash <(curl -sL https://github.com/WeBankFinTech/WeCross/releases/download/resources/download_demo.sh)
部署
cd demo
# 運行部署腳本钮科,耗時10-30分鐘左右
bash build.sh # 若出錯,可用 bash clear.sh 清理后重試
# 下面是結果展示
[INFO] Success! WeCross demo network is running. Framework:
FISCO BCOS Fabric
(4node pbft) (first-network)
(HelloWeCross.sol) (abac.go)
| |
| |
WeCross Router <----------> WeCross Router
(127.0.0.1-8250-25500) (127.0.0.1-8251-25501)
|
|
WeCross Console
Start console? [Y/n]
操作跨鏈資源
查看資源
[WeCross]> listResources
path: payment.bcos.HelloWeCross, type: BCOS2.0, distance: 0
path: payment.fabric.abac, type: Fabric1.4, distance: 1
total: 2
查看賬戶
[WeCross]> listAccounts
name: fabric_user1, type: Fabric1.4
name: fabric_default_account, type: Fabric1.4
name: bcos_user1, type: BCOS2.0
name: bcos_default_account, type: BCOS2.0
total: 4
操作資源: payment.bcos.HelloWeCross
# 調用HelloWeCross合約中的get接口
[WeCross]> call payment.bcos.HelloWeCross bcos_user1 get
Result: [Talk is cheap, Show me the code]
寫資源
# 調用HelloWeCross合約中的set接口
[WeCross]> sendTransaction payment.bcos.HelloWeCross bcos_user1 set Tom
Txhash : 0x21a412a1eb5239f2da9d40d09d11ce0107a5d82d113f1ecb315f2aa5bd3cc0cd
BlockNum: 2
Result : [Tom] // 將Tom給set進去
[WeCross]> call payment.bcos.HelloWeCross bcos_user1 get
Result: [Tom] // 再次get婆赠,Tom已set
操作資源:payment.fabric.abac
# 調用abac合約中的query接口
[WeCross]> call payment.fabric.abac fabric_user1 query a
Result: [90] // 初次query绵脯,a的值為90
# 調用HelloWeCross合約中的set接口
[WeCross]> sendTransaction payment.bcos.HelloWeCross bcos_user1 set Tom
Txhash : 0x21a412a1eb5239f2da9d40d09d11ce0107a5d82d113f1ecb315f2aa5bd3cc0cd
BlockNum: 2
Result : [Tom] // 將Tom給set進去
[WeCross]> call payment.bcos.HelloWeCross bcos_user1 get
Result: [Tom] // 再次get,Tom已set
操作資源:payment.fabric.abac
讀資源
# 調用abac合約中的query接口
[WeCross]> call payment.fabric.abac fabric_user1 query a
Result: [90] // 初次query休里,a的值為90
寫資源
# 調用abac合約中的invoke接口
[WeCross]> sendTransaction payment.fabric.abac fabric_user1 invoke a b 10
Txhash : db44b064c54d4dc97f01cdcd013cae219f7849c329f38ee102853344d8f0004d
BlockNum: 5
Result : []
[WeCross]> call payment.fabric.abac fabric_user1 query a
Result: [80] // 再次query蛆挫,a的值變成80
# 退出WeCross控制臺
[WeCross]> quit # 若想再次啟動控制臺,cd至WeCross-Console妙黍,執(zhí)行start.sh即可
總結
Wecross是目前最適合BCOS跨鏈的技術悴侵,支持跨鏈讀取,寫入拭嫁,跨鏈轉賬等操作可免,滿足目前大部分等跨鏈業(yè)務需求抓于。