问题描述
我已经用docker compose启动了一个peer和membersrvc容器.他们已经成功启动.我从CLI部署了example02链码(也尝试了REST).我收到一条成功消息.当我尝试查询链码时,查询链码时出现错误:
I have started a peer and membersrvc container with docker compose.They have started successfully. I deploying example02 chaincode from CLI (tried REST also). I get a success message. When i try to query the chaincode, i am getting Error when querying chaincode:
以下是我执行的步骤:
[karthik@localhost hyperledger]$ cat docker-compose.yml
membersrvc:
image: hyperledger/fabric-membersrvc
ports:
- "7054:7054"
command: membersrvc
vp0:
image: hyperledger/fabric-peer
ports:
- "7050:7050"
- "7051:7051"
- "7053:7053"
environment:
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_VM_ENDPOINT=unix:///var/run/docker.sock
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=vp0
- CORE_PEER_PKI_ECA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TCA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054
- CORE_SECURITY_ENABLED=true
- CORE_SECURITY_ENROLLID=test_vp0
- CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT
links:
- membersrvc
command: sh -c "sleep 5; peer node start --peer-chaincodedev"
[karthik@localhost hyperledger]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hyperledger/fabric-membersrvc latest b3654d32e4f9 5 weeks ago 1.417 GB
hyperledger/fabric-peer latest 21cb00fb27f4 5 weeks ago 1.423 GB
hello-world latest c54a2cc56cbb 4 months ago 1.848 kB
[karthik@localhost hyperledger]$ docker-compose up -d
Creating hyperledger_membersrvc_1
Creating hyperledger_vp0_1
[karthik@localhost hyperledger]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14b223d73370 hyperledger/fabric-peer "sh -c 'sleep 5; peer" 8 seconds ago Up 4 seconds 0.0.0.0:7050-7051->7050-7051/tcp, 0.0.0.0:7053->7053/tcp hyperledger_vp0_1
88ab8858c170 hyperledger/fabric-membersrvc "membersrvc" 11 seconds ago Up 7 seconds 0.0.0.0:7054->7054/tcp hyperledger_membersrvc_1
完成上述操作并通过注册商登录后,我使用以下有效负载执行了/chaincode rest:
After doing the above and user login through registrar, I executed the /chaincode rest with following payload:
{
"jsonrpc": "2.0",
"method": "deploy",
"params": {
"type": 1,
"chaincodeID":{
"path":"github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02",
"name" : "mycc"
},
"ctorMsg": {
"args":["init", "a", "1000", "b", "2000"]
},
"secureContext": "lukas"
},
"id": 1
}
我得到以下回应
{
"jsonrpc": "2.0",
"result":
{
"status": "OK",
"message": "mycc"
},
"id": 1
}
以上确认部署成功.然后,使用以下JSON查询
The above confirms the deployment was successfull.Then, used the following JSON to query
{
"jsonrpc": "2.0",
"method": "query",
"params": {
"type": 1,
"chaincodeID":{
"name":"mycc"
},
"ctorMsg": {
"args":["query", "a"]
},
"secureContext": "lukas"
},
"id": 5
}
然后,我遇到以下错误:
Then, i got the following error:
{
"jsonrpc": "2.0",
"error":
{
"code": -32003,
"message": "Query failure",
"data": "Error when querying chaincode: Error:Failed to launch chaincode spec(Could not get deployment transaction for mycc - LedgerError - ResourceNotFound: ledger: resource not found)"
},
"id": 5
}
以下是部署时的Docker附加日志:
Following is the docker attach log while deploying:
13:19:00.894 [rest] processChaincodeDeploy -> INFO cb6 Successfully deployed chainCode: mycc
13:19:00.895 [rest] ProcessChaincode -> INFO cb7 REST successfully deploy chaincode: {"jsonrpc":"2.0","result":{"status":"OK","message":"mycc"},"id":1}
13:19:01.454 [consensus/noops] handleChannels -> DEBU cb8 Process block due to time
13:19:01.454 [consensus/noops] processTransactions -> DEBU cb9 Starting TX batch with timestamp: seconds:1479820741 nanos:454455273
13:19:01.454 [consensus/noops] processTransactions -> DEBU cba Executing batch of 1 transactions with timestamp seconds:1479820741 nanos:454455273
13:19:01.454 [crypto] Debugf -> DEBU cbb [validator.test_vp0] Tx confdential level [PUBLIC].
13:19:01.454 [chaincode] Deploy -> DEBU cbc user runs chaincode, not deploying chaincode
13:19:01.454 [state] TxBegin -> DEBU cbd txBegin() for txId [mycc]
13:19:01.454 [chaincode] sendInitOrReady -> DEBU cbe handler not found for chaincode mycc
13:19:01.454 [chaincode] Launch -> ERRO cbf sending init failed(handler not found for chaincode mycc)
13:19:01.454 [container] lockContainer -> DEBU cc0 waiting for container(dev-vp0-mycc) lock
13:19:01.454 [container] lockContainer -> DEBU cc1 got container (dev-vp0-mycc) lock
13:19:01.455 [dockercontroller] stopInternal -> DEBU cc2 Stop container dev-vp0-mycc(Post http://unix.sock/containers/dev-vp0-mycc/stop?t=0: dial unix /var/run/docker.sock: connect: no such file or directory)
13:19:01.455 [dockercontroller] stopInternal -> DEBU cc3 Kill container dev-vp0-mycc (Post http://unix.sock/containers/dev-vp0-mycc/kill: dial unix /var/run/docker.sock: connect: no such file or directory)
13:19:01.456 [dockercontroller] stopInternal -> DEBU cc4 Remove container dev-vp0-mycc (dial unix /var/run/docker.sock: connect: no such file or directory)
13:19:01.456 [container] unlockContainer -> DEBU cc5 container lock deleted(dev-vp0-mycc)
13:19:01.456 [chaincode] Launch -> DEBU cc6 sending init completed
13:19:01.456 [chaincode] Launch -> DEBU cc7 LaunchChaincode complete
13:19:01.456 [state] TxFinish -> DEBU cc8 txFinish() for txId [mycc], txSuccessful=[false]
13:19:01.456 [state] GetHash -> DEBU cc9 Enter - GetHash()
13:19:01.456 [buckettree] ComputeCryptoHash -> DEBU cca Enter - ComputeCryptoHash()
13:19:01.456 [buckettree] ComputeCryptoHash -> DEBU ccb Returing existing crypto-hash as recomputation not required
13:19:01.456 [state] GetHash -> DEBU ccc Exit - GetHash()
13:19:01.456 [consensus/noops] processTransactions -> DEBU ccd Committing TX batch with timestamp: seconds:1479820741 nanos:454455273
13:19:01.456 [state] GetHash -> DEBU cce Enter - GetHash()
13:19:01.456 [buckettree] ComputeCryptoHash -> DEBU ccf Enter - ComputeCryptoHash()
13:19:01.456 [buckettree] ComputeCryptoHash -> DEBU cd0 Returing existing crypto-hash as recomputation not required
13:19:01.456 [state] GetHash -> DEBU cd1 Exit - GetHash()
13:19:01.456 [indexes] addIndexDataForPersistence -> DEBU cd2 Indexing block number [3] by hash = [feb273eff4ac3611f6fa3d71a0c7e7d49b3728b436e445b77dcd3529c209c9621771cb39f04f9ace636af1693c33bcd61a360edce9a1a520085915e301200fe0]
13:19:01.456 [state] AddChangesForPersistence -> DEBU cd3 state.addChangesForPersistence()...start
13:19:01.456 [state] AddChangesForPersistence -> DEBU cd4 Adding state-delta corresponding to block number[3]
13:19:01.456 [state] AddChangesForPersistence -> DEBU cd5 Not deleting previous state-delta. Block number [3] is smaller than historyStateDeltaSize [500]
13:19:01.456 [state] AddChangesForPersistence -> DEBU cd6 state.addChangesForPersistence()...finished
13:19:01.456 [ledger] resetForNextTxGroup -> DEBU cd7 resetting ledger state for next transaction batch
13:19:01.456 [buckettree] ClearWorkingSet -> DEBU cd8 Enter - ClearWorkingSet()
13:19:01.456 [ledger] CommitTxBatch -> DEBU cd9 There were some erroneous transactions. We need to send a 'TX rejected' message here.
13:19:01.457 [consensus/handler] CommitTxBatch -> DEBU cda Committed block with 0 transactions, intended to include 0
13:19:01.457 [consensus/noops] getBlockData -> DEBU cdb Preparing to broadcast with block number 4
13:19:01.457 [consensus/noops] getBlockData -> DEBU cdc Got the delta state of block number 4
13:19:01.457 [consensus/noops] notifyBlockAdded -> DEBU cdd Broadcasting Message_SYNC_BLOCK_ADDED to non-validators
我很确定部署失败.有人可以帮忙解决此问题吗?
I am pretty sure the deployment was a failure. Can someone help to fix this?
推荐答案
问题(来自日志记录)是dial unix /var/run/docker.sock: connect: no such file or directory
您需要将/var/run/docker.sock
挂载到您的Docker容器中.
The problem(from logging) is dial unix /var/run/docker.sock: connect: no such file or directory
you need to mount /var/run/docker.sock
to your docker container.
volumes
- /var/run/docker.sock:/var/run/docker.sock
链接到unix///var/run/docker.sock
这篇关于Hyperledger:成功部署chaincode.但是,无法查询-说ResourceNotFound的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!