WeBankBlockchain/WeCross

Task: 优化跨链路由启动过程

Shareong opened this issue · 0 comments

背景

跨链路由启动时需要为各个链部署系统合约,包括代理合约(WeCrossProxy)和桥接合约(WeCrossHub),用户会根据提示分别完成部署,如果有n条链m个系统合约,那么用户需要执行n*m次部署命令,不太友好。

一种优化方式是:通过脚本将每条链的系统合约操作命令合并。

bash systemResources.sh -dPH -c chains/my_bcos -t BCOS2.0
bash systemResources.sh -uPH -c chains/my_bcos_gm -t GM_BCOS2.0
bash systemResources.sh -aH -c chains/my_fabric -t Fabric1.4

命令解析:

  • d: deploy,部署合约
  • u: upgrade,升级合约
  • a: getAddress,获取合约地址
  • P: WeCrossProxy
  • H: WeCrossHub
  • c: chainName,链配置路径
  • t: 链类型

任务

实现systemResources.sh脚本。

附录

不同链的系统合约操作命令如下:

  • FISCO BCOS 非国密链
# 代理合约
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.bcos.normal.preparation.ProxyContractDeployment deploy [chainName]
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.bcos.normal.preparation.ProxyContractDeployment upgrade [chainName]

# 桥接合约
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.bcos. normal.preparation.HubContractDeployment deploy [chainName]
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.bcos. normal.preparation.HubContractDeployment upgrade [chainName]
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.bcos. normal.preparation.HubContractDeployment getAddress [chainName]
  • FISCO BCOS 国密链
# 代理合约
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.bcos. guomi.preparation.ProxyContractDeployment deploy [chainName]
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.bcos. guomi.preparation.ProxyContractDeployment upgrade [chainName]

# 桥接合约
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.bcos.guomi.preparation.HubContractDeployment deploy [chainName]
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.bcos.guomi.preparation.HubContractDeployment upgrade [chainName]
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.bcos.guomi.preparation.HubContractDeployment getAddress [chainName]
  • Hyperledger Fabric 链
# 代理合约
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.fabric.proxy.ProxyChaincodeDeployment deploy [chainName]
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.fabric.proxy.ProxyChaincodeDeploymentt upgrade [chainName]

# 桥接合约
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.fabric.hub.HubChaincodeDeployment deploy [chainName]
java -cp 'conf/:lib/*:plugin/*' com.webank.wecross.stub.fabric.hub.HubChaincodeDeployment upgrade [chainName]