当前位置: 首页 > 知识库问答 >
问题:

在hyperledger结构中动态执行事务时出错

黄查猛
2023-03-14
2020-02-24T10:33:09.018Z - warn: [Query]: evaluate: Query ID "[object Object]" of peer "peer1.org1.example.com:8051" failed: message=cannot retrieve package for chaincode fabcar/1.0, error open /var/hyperledger/production/chaincodes/fabcar.1.0: no such file or directory, stack=Error: cannot retrieve package for chaincode fabcar/1.0, error open /var/hyperledger/production/chaincodes/fabcar.1.0: no such file or directory
    at self._endorserClient.processProposal (/home/djaxtech/fabric-samples/fabcar/javascript/node_modules/fabric-client/lib/Peer.js:140:36)
    at Object.onReceiveStatus (/home/djaxtech/fabric-samples/fabcar/javascript/node_modules/grpc/src/client_interceptors.js:1207:9)
    at InterceptingListener._callNext (/home/djaxtech/fabric-samples/fabcar/javascript/node_modules/grpc/src/client_interceptors.js:568:42)
    at InterceptingListener.onReceiveStatus (/home/djaxtech/fabric-samples/fabcar/javascript/node_modules/grpc/src/client_interceptors.js:618:8)
    at callback (/home/djaxtech/fabric-samples/fabcar/javascript/node_modules/grpc/src/client_interceptors.js:845:24), status=500, , url=grpcs://localhost:8051, name=peer1.org1.example.com:8051, grpc.max_receive_message_length=-1, grpc.max_send_message_length=-1, grpc.keepalive_time_ms=120000, grpc.http2.min_time_between_pings_ms=120000, grpc.keepalive_timeout_ms=20000, grpc.http2.max_pings_without_data=0, grpc.keepalive_permit_without_calls=1, name=peer1.org1.example.com:8051, grpc.ssl_target_name_override=peer1.org1.example.com, grpc.default_authority=peer1.org1.example.com, isProposalResponse=true
Failed to evaluate transaction: Error: cannot retrieve package for chaincode fabcar/1.0, error open /var/hyperledger/production/chaincodes/fabcar.1.0: no such file or directory
Error: error getting endorser client for install: endorser client failed to connect to peer1.org1.example.com:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp 172.23.0.11:7051: connect: connection refused"

如何化解?

共有1个答案

百里锋
2023-03-14

通过在两个对等点中安装chaincode已经清除了它。这里我给出了通过。/startfabric.sh安装chaincode的代码片段

在peer1 0F组织中安装1

echo "Installing smart contract on peer1.org1.example.com"
docker exec \
  -e CORE_PEER_LOCALMSPID=Org1MSP \
  -e CORE_PEER_ADDRESS=peer1.org1.example.com:8051 \
  -e CORE_PEER_MSPCONFIGPATH=${ORG1_MSPCONFIGPATH} \
  -e CORE_PEER_TLS_ROOTCERT_FILE=${ORG1_TLS_ROOTCERT_FILE} \
  cli \
  peer chaincode install \
    -n fabcar \
    -v 1.0 \
    -p "$CC_SRC_PATH" \
    -l "$CC_RUNTIME_LANGUAGE"

在组织2的peer1中安装

echo "Installing smart contract on peer1.org2.example.com"
docker exec \
  -e CORE_PEER_LOCALMSPID=Org2MSP \
  -e CORE_PEER_ADDRESS=peer1.org2.example.com:10051 \
  -e CORE_PEER_MSPCONFIGPATH=${ORG2_MSPCONFIGPATH} \
  -e CORE_PEER_TLS_ROOTCERT_FILE=${ORG2_TLS_ROOTCERT_FILE} \
  cli \
  peer chaincode install \
    -n fabcar \
    -v 1.0 \
    -p "$CC_SRC_PATH" \
    -l "$CC_RUNTIME_LANGUAGE"
docker exec \
  -e CORE_PEER_LOCALMSPID=Org1MSP \
  -e CORE_PEER_MSPCONFIGPATH=${ORG1_MSPCONFIGPATH} \
  cli \
  peer chaincode invoke \
    -o orderer.example.com:7050 \
    -C mychannel \
    -n fabcar \
    -c '{"function":"initLedger","Args":[]}' \
    --waitForEvent \
    --tls \
    --cafile ${ORDERER_TLS_ROOTCERT_FILE} \
    --peerAddresses peer0.org1.example.com:7051 \
    --peerAddresses peer1.org1.example.com:8051 \
    --peerAddresses peer0.org2.example.com:9051 \
    --peerAddresses peer1.org2.example.com:10051 \
    --tlsRootCertFiles ${ORG1_TLS_ROOTCERT_FILE} \
    --tlsRootCertFiles ${ORG1_TLS_ROOTCERT_FILE} \
    --tlsRootCertFiles ${ORG2_TLS_ROOTCERT_FILE} \
    --tlsRootCertFiles ${ORG2_TLS_ROOTCERT_FILE}
 类似资料:
  • 第一种方法:实现一个chanincode函数,将eventHub中的块号传递到方法中,然后在chaincode中检索所有事务ID,然后进行查询以查找所有事务,最后将所有事务拼接在一起。 第二种方法:用fabric sdk检索块内的内容,然后解析块内容有效负载中所有签名提案。 第三种方法:用fabric sdk检索内部的块,然后检索有效负载中的事务ID或密钥,然后进行一个沙发db查询来检索所有内容。

  • 问题内容: 我创建一个函数来执行动态SQL并返回一个值。我得到“只能从函数内执行函数和某些扩展存储过程”。作为错误。 功能: 执行: 和: 该函数是否被正确调用或该函数不正确? 问题答案: 您不能通过函数使用动态SQL,也不能调用存储过程。

  • 我正在PyCharm中开发Django项目,一切正常。我已经在虚拟环境中安装了fabric,并添加了fabfile。加入我的项目。在这个文件中,我放置了一个测试任务定义: 之后,我试图直接从我的PyCharm上执行这个任务。你有什么建议我该怎么做?

  • 我有3个虚拟机的结构网络设置,其中包含4个组织,每个组织有2个对等体,以及各自的CouchDB实例、1个专用CA和单个订购者。我使用Hyperledger Java SDK公开rest API供使用。 我们在进行查询时经常遇到问题,无论是富文本查询,还是下面提到的历史查询例外。根据日志,我可以看到用户链码成功检索了查询结果,但在调用“qscc”链码时失败了。

  • 我在使用Flutter查询Firestore数据库时收到了这个错误。 E/Flutter(17558):[错误:Flutter/lib/ui/ui_dart_state.cc(157)]未处理的异常:PlatformException(执行事务时出错,必须写入事务中读取的每个文档。,空)

  • 我一直在尝试从Hyperledger Fabric v1中的BYFN网络的Java SDK调用和查询事务。4.4到目前为止,我已经启动了这个网络(在两个组织中有两个对等方,一个订购方,并安装了链码mycc)。网络成功启动,脚本和测试完成(根据执行结束,byfn.sh脚本运行后a和b的值分别为90和210) 现在我有了我的Java SDK,通过它,查询建议响应可以正常工作(返回90和210),但在移