2016-09-09 43 views
0

我曾经对chaincode部署到运行去SRC例如,我得到了正确的结果, 然后我试图在Java SRC例如,enter image description herehyperledger面料的Java chaincode错误

enter image description here

我有一个chaincode,但当我用这个chaincode查询,这表明我:

Error: Error querying chaincode: rpc error: code = 2 desc = "Error:Failed to launch chaincode spec(Could not get deployment transaction 
a3a350ff98660bcade4570acd507d0b380f374ea9399194b39e0301135849feb0732 - LedgerError - ResourceNotFound: ledger: resource not found)" 

我使用泊坞窗工具盒创建hyperledger面料envirement。如果在对于响应看到

+0

可以请你添加更多的细节?你是在'dev'模式还是普通模式下运行?你是如何运作同行的?当你查询时你提供什么名字? –

+0

如果你正在使用java代码部署它,你也需要提供'-l java' –

+0

是的,我已经在普通模式下使用了-l java和-u jim。-w -l java,init func返回一个chaincode,但是当我使用chaincode测试查询时,它显示错误,并且没有结果。当我测试查询功能与去src代码,我可以得到结果。 – teddy

回答

3

Chaincode ID被用作多个参数的散列码(以chaincode +参数+源代码路径) 生成的“部署”命令是这样的:

{“jsonrpc":"2.0","result":{"status":"OK","message":"8d803651564981858842409c6a5c3bf3f6ea69f90a6a7bfb672c2c8c3b6eb4c48105c5807e52f1a5ffdce0e86966688019a6c4013ffca524d5896e0b9ae201c6"} 

这意味着您接受部署交易的请求。从这一刻起,Fabric将尝试为链代码创建一个容器并在docker中启动它。万一出现错误和容器未启动,您会收到以下消息:

“LedgerError - ResourceNotFound: ledger: resource not found“ for all your commands. 

在你的榜样,你正试图在GO容器,因此响应部署Java chaincode是:

(INFO 002 Deploy result: type GOLANG chaincodeID:...) 

正在发生,因为面料不使用的“语言”变量检测平台类型(有效期版本是可利用的2016年9月9日

我设法部署Java柴使用N-代码以下REST请求:

curl -XPOST -d ‘{"jsonrpc": "2.0", "method": "deploy", "params": {"type": 4,"chaincodeID": {"path": "/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/java/SimpleSample","language": "java"}, "ctorMsg": { "args": ["init", "a", "100", "b", "1000"] }},"id": 0}' http://localhost:7050/chaincode

type:4意味着该chaincode是Java和应使用适当的容器中。 (对于GO,我们应该用type:1

请记住,Java的当前工作只有security.enabled=falsesecurity.enabled=true,你会看到以下错误信息:

[dockercontroller] deployImage -> ERRO 095 Error building images: API error (500): {"message":"The Dockerfile (Dockerfile) cannot be empty"} 
+0

谢谢。 我尝试请求你说的,它给我看: ERRO 03e错误构建图像:错误:图像超级控制器/ fabric-javaenv:x86_64-未找到 01:33:12.533 [dockercontroller] deployImage - > ERRO 03f图像输出: 步骤1:FROM hyperledger/fabric-javaenv:x86_64- 提取存储库docker.io/hyperledger/fabric-javaenv 但docker pull docker.io/hyperledger/fabric-javaenv是有用的。 – teddy

+0

您的环境可能已过时。你可以尝试从gerrit签出最新版本并重建peer和memberrvc服务吗? –

+0

好的,我会试试。谢谢。 – teddy

相关问题