Java JDK 调用合约报错,get tx by xxx failed
【问题分类】
- bug
- P2P网络相关(包含libp2p,liquid)
- 链账户身份与权限相关(证书问题、public、多签投票问题)
- 核心交易引擎相关(交易池、DAG)
- 共识相关
- 智能合约相关
- 存储相关
- SDK相关
- 长安链CMC工具
- 长安链管理台
- 长安链浏览器
- 长安链合约IDE
- 长安链web签名插件
- 跨链相关
- 轻节点相关
- 隐私计算相关
- 密码学相关
- 环境依赖
- 其他补充:
【问题描述】(请对问题进行描述,方便定位问题)
本地(Window)使用IDEA一切正常,传到服务器(Ubuntu)报错
调用合约方法前执行inItChainClient()正常输出
调取合约报错
区块链浏览器交易成功
智能合约
func (f *FactContract) get() protogo.Response {
// 获取参数
field := string(sdk.Instance.GetArgs()["field"])
key := string(sdk.Instance.GetArgs()["key"])
// 查询结果
result, err := sdk.Instance.GetStateByte(key, field)
if err != nil {
return sdk.Error("[contract] failed to call get_state")
}
if len(result) == 0 {
return sdk.Error("[contract] not found data: " + field)
}
// 记录日志
sdk.Instance.Infof(fmt.Sprintf("[contract] get key=%v,field=%v", string(key), string(field)))
// 返回结果
return sdk.Success(result)
}
【相关日志文件】(如果有报错日志请贴图,或者上传附件)
【系统信息】(请填写系统信息,方便定位问题)
- chainmaker-go version * : [v2.3.2]
- OS & version * : Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-131-generic x86_64)
- docker镜像 version: Docker version 18.09.7, build 2d0083d
-
管理台 version:
- 如果是管理台的相关问题,请附带管理台版本,如果不是可忽略。
-
区块浏览器 version:
- 如果是浏览器的相关问题,请附带浏览器版本,如果不是可忽略。
-
合约IDE version: ChainMaker SmartEditor 长安链版本:v2.3.0+
- 如果是合约IDE的相关问题,请附带合约IDE版本,如果不是可忽略。
-
web签名插件 version:
- 如果是web签名插件的相关问题,请附带web签名插件版本,如果不是可忽略。
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information