美文网首页
基于Wecross的BCOS跨链快速入门

基于Wecross的BCOS跨链快速入门

作者: 小胖子善轩 | 来源:发表于2020-07-25 21:39 被阅读0次

    目前来说,Wecross是最适合用于BCOS的跨链系统。所谓跨链,就是链上不同的资源进行统一和抽象。下图是BCOS与Fabric进行跨链连接的可视化例子:

    image.png

    搭建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,执行start.sh即可
    

    总结

    Wecross是目前最适合BCOS跨链的技术,支持跨链读取,写入,跨链转账等操作,满足目前大部分等跨链业务需求。

    相关文章

      网友评论

          本文标题:基于Wecross的BCOS跨链快速入门

          本文链接:https://www.haomeiwen.com/subject/qhxnahtx.html