使用java-sdk部署go存证智能合约报错
【问题分类】
- [] bug
- P2P网络相关(包含libp2p,liquid)
- 链账户身份与权限相关(证书问题、public、多签投票问题)
- 核心交易引擎相关(交易池、DAG)
- 共识相关
- 智能合约相关
- 存储相关
- SDK相关
- 长安链CMC工具
- 长安链管理台
- 长安链浏览器
- 长安链合约IDE
- 长安链web签名插件
- 跨链相关
- 轻节点相关
- 隐私计算相关
- 密码学相关
- 环境依赖
- 其他补充:
【问题描述】(请对问题进行描述,方便定位问题)
使用java-sdk部署go智能合约时报错,报错信息为 code: 1 message: "failed to check contract bin version, failed to extract contract",chainmaker为容器部署,版本为3.0.0, 使用的java-sdk版本为2.3.0,go 存证智能合约使用的是官网提供的示例, 镜像对应的版本号为docker pull chainmakerofficial/chainmaker-go-contract:2.1.0,编译后得到chainmaker-contract-go.wasm java代码示例
public static void testGoProofContract(ChainClient chainClient)throws Exception{
try {
byte[] byteCode = FileUtils.getResourceFileBytes("chainmaker-contract-go.wasm");
Payload payload = chainClient.createContractCreatePayload("testProof", "1", byteCode,
RuntimeType.DOCKER_GO, null);
Request.EndorsementEntry[] endorsementEntries = SdkUtils
.getEndorsers(payload, new User[]{chainClient.getClientUser()});
TxResponse txResponse = chainClient.sendContractManageRequest(payload, endorsementEntries, 10000, 10000);
System.out.println("deploy contract result:{}" + txResponse);
}catch (Exception e){
System.out.println(e.getMessage());
}
}
执行后,部署合约不成功,报错详细信息如下:
deploy contract result:{}message: "OK"
contract_result {
code: 1
message: "failed to check contract bin version, failed to extract contract"
}
tx_id: "aa30c46ac3590fc1ea638a54db615c0fad05601877899e8eeacf4dc50932fb15"
具体的现象,操作步骤,前置条件等,尽可能描述清楚,有截图说明更佳
【相关日志文件】(如果有报错日志请贴图,或者上传附件)
chainmaker-go 的 log/system.log & bin/panic.log file *
SDK 的 sdk.log file
【系统信息】(请填写系统信息,方便定位问题)
- chainmaker-go version * : [v3.0.0]
- OS & version * :
- docker镜像 version:
-
管理台 version:
- 如果是管理台的相关问题,请附带管理台版本,如果不是可忽略。
-
区块浏览器 version:
- 如果是浏览器的相关问题,请附带浏览器版本,如果不是可忽略。
-
合约IDE version:
- 如果是合约IDE的相关问题,请附带合约IDE版本,如果不是可忽略。
-
web签名插件 version:
- 如果是web签名插件的相关问题,请附带web签名插件版本,如果不是可忽略。
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information