-
Notifications
You must be signed in to change notification settings - Fork 76
Description
lsc@A100-R760:~/25Spring/WeCross/wecross-networks/routers-payment/127.0.0.1-8250-25500$ java -cp 'conf/:lib/:plugin/' com.webank.wecross.stub.bcos.normal.preparation.HubContractDeployment getAddress chains/bcos3
Failed, please check contract or account. Exception details:
java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Long (java.lang.String and java.lang.Long are in module java.base of loader 'bootstrap')
at com.webank.wecross.stub.bcos.normal.config.BCOSStubConfigParser.getChainConfig(BCOSStubConfigParser.java:82)
at com.webank.wecross.stub.bcos.normal.config.BCOSStubConfigParser.loadConfig(BCOSStubConfigParser.java:52)
at com.webank.wecross.stub.bcos.normal.preparation.HubContract.(HubContract.java:55)
at com.webank.wecross.stub.bcos.normal.preparation.HubContractDeployment.getAddress(HubContractDeployment.java:134)
at com.webank.wecross.stub.bcos.normal.preparation.HubContractDeployment.handle2Args(HubContractDeployment.java:96)
at com.webank.wecross.stub.bcos.normal.preparation.HubContractDeployment.main(HubContractDeployment.java:69)
似乎是因为:
WeCross 的 chainId 和 groupId 字段在 BCOS 2.x 版本的时候是数字,比如:
chainId = 1
groupId = 1
但是 BCOS 3.x 改成了 字符串(group0、chain0),而 WeCross 还是按数字处理 —— 代码里直接 cast 成 Long 类型,所以报错:
ClassCastException: java.lang.String cannot be cast to java.lang.Long