建议和反馈

请填写你的反馈内容

问答 > 联盟链 > 问答详情

Hyperledger:成功部署链码。但是,无法查询 - 说ResourceNotFound10LK

我已经用docker compose启动了一个peer和membersrvc容器。他们已经成功开始了。我从CLI部署了example02链代码(也尝试过REST)。我收到了成功的消息。当我尝试查询链码时,我在查询链码时遇到错误:

错误:无法启动链代码规范(无法获取mycc的部署事务 - LedgerError - ResourceNotFound:ledger:找不到资源)

以下是我执行的步骤:

[karthik@localhost hyperledger]$ cat docker-compose.ymlmembersrvc:
  image: hyperledger/fabric-membersrvc
  ports:
    - "7054:7054"
  command: membersrvcvp0:
  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 imagesREPOSITORY                      TAG                 IMAGE ID                CREATED             SIZEhyperledger/fabric-membersrvc   latest              b3654d32e4f9        5     weeks ago         1.417 GBhyperledger/fabric-peer         latest              21cb00fb27f4        5     weeks ago         1.423 GBhello-world                     latest              c54a2cc56cbb        4     months ago        1.848 kB[karthik@localhost hyperledger]$ docker-compose up -dCreating hyperledger_membersrvc_1Creating hyperledger_vp0_1[karthik@localhost hyperledger]$ docker psCONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS                   PORTS                                                      NAMES14b223d73370        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_188ab8858c170        hyperledger/fabric-membersrvc   "membersrvc"             11 seconds ago      Up 7 seconds        0.0.0.0:7054->7054/tcp                                     hyperledger_membersrvc_1

完成上述操作并通过注册器登录用户后,我使用以下有效负载执行/ chaincode rest:

{
  “jsonrpc”:“2.0”,
  “方法”:“部署”,
  “params”:{
    “类型”:1,
    “chaincodeID”:{
        “路径”:“github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02”
         “名字”:“mycc”
    },
    “ctorMsg”:{
        “args”:[“init”,“a”,“1000”,“b”,“2000”]
    },
    “secureContext”:“lukas”
  },
  “id”:1}

我收到了以下回复


{
        “jsonrpc”:“2.0”,
        “结果”:
        {
            “状态”:“好”,
            “消息”:“mycc”
        },
        “id”:1
    }

以上证实部署成功。然后,使用以下JSON进行查询

{
  “jsonrpc”:“2.0”,
  “方法”:“查询”,
  “params”:{
      “类型”:1,
      “chaincodeID”:{
          “名”: “mycc”
      },
      “ctorMsg”:{
         “args”:[“查询”,“a”]
      },
      “secureContext”:“lukas”
  },
  “id”:5}

然后,我收到以下错误:

{
        “jsonrpc”:“2.0”,
        “错误”:
        {
            “code”:-32003,
            “message”:“查询失败”,
            “data”:“查询链码时出错:错误:无法启动链码规范(无法获取mycc的部署事务 -  LedgerError  -  ResourceNotFound:ledger:找不到资源)”
        },
        “id”:5
    }

以下是部署时的docker附加日志:

13:19:00.894 [rest] processChaincodeDeploy -> INFO cb6 Successfully deployed chainCode: mycc13: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 time13: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 chaincode13:19:01.454 [state] TxBegin -> DEBU cbd txBegin() for txId [mycc]13:19:01.454 [chaincode] sendInitOrReady -> DEBU cbe handler not found for chaincode mycc13: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) lock13:19:01.454 [container] lockContainer -> DEBU cc1 got container (dev-vp0-mycc) lock13: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 completed13:19:01.456 [chaincode] Launch -> DEBU cc7 LaunchChaincode complete13: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 required13: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 required13: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()...start13: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()...finished13:19:01.456 [ledger] resetForNextTxGroup -> DEBU cd7 resetting ledger state for next transaction batch13: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 013:19:01.457 [consensus/noops] getBlockData -> DEBU cdb Preparing to broadcast with block number 413:19:01.457 [consensus/noops] getBlockData -> DEBU cdc Got the delta state of block number 413:19:01.457 [consensus/noops] notifyBlockAdded -> DEBU cdd Broadcasting Message_SYNC_BLOCK_ADDED to non-validators

我很确定部署失败了。有人可以帮忙解决这个问题吗?


2019-09-10
0
请先登陆或注册

波bobo2019-09-10

部署或调用的200响应仅表示事务已成功提交给对等方。这并不表示它的成功。理想情况下,您应该等待大约3到4分钟,然后才能查询区块链以获得响应。

投一票
评论(0)
赞赏(0)
区块链社区2019-09-10

问题(来自日志记录)是dial unix /var/run/docker.sock: connect: no such file or directory 您需要安装/var/run/docker.sock到docker容器。

volumes
  - /var/run/docker.sock:/var/run/docker.sock

到链接到的每个节点 unix///var/run/docker.sock


投一票
评论(0)
赞赏(0)

求助中

解决了这个问题,预计可以帮助到

  • 0
  • 0
  • 9
  • 3
  • 1
邀请

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励