Task: 优化跨链路由启动过程
Shareong opened this issue · 0 comments
Shareong commented
背景
跨链路由启动时需要为各个链部署系统合约,包括代理合约(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]