使用fabric-sdk-go调用fabric时的问题及解决

1.实例化链码时报错:failed to get discovery service: could not get chConfig cache reference: QueryBlockConfig failed: no channel peers configured for channel [mychannel]

这是由于fabric-sdk-go的配置文件中通道名与创建通道不一致造成的,将配置文件中channels配置的下一级配置名称改成对应通道名(我这边是改为mychannel)就不会出现这个错误.

2.failed to create channel client: event service creation failed: could not get chConfig cache reference: QueryBlockConfig failed: queryChaincode failed: Transaction processing for endorser [localhost:8051]: gRPC Transport Status Code: (2) Unknown. Description: access denied: channel [mychannel] creator org [Org1MSP]

这也是由于fabric-sdk-go配置不匹配引起的.一种解决方法是将配置文件中channels/# 通道名/peers下的配置中,注释掉与localhost:8051有关的部分.
另一种解决方法是将localhost:8051对应的节点加入相应的通道,也不会报这个错.

3. 如果一个组织且一个通道内的两个节点均安装了链码,那么只需要在一个节点实例化链码,就可以在两个节点调用链码.在未实例化链码的节点中调用链码时,会自动创建对应的链码容器

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Hyperledger Fabric 1.0 从零开始系列的第十二篇文章中,我们将介绍如何使用 fabric-sdk-java 应用程序来与 Hyperledger Fabric 交互。 fabric-sdk-java 是一个 Java 版本的 Hyperledger Fabric SDK,它提供了一种方便的方式来与 Hyperledger Fabric 网络进行交互。它使用 Fabric 的 Java 操作系统链码(Java Chaincode)来运行链码,同也支持 Go 语言链码。 以下是使用 fabric-sdk-java 的步骤: 1. 下载 fabric-sdk-java,并将其添加到您的 Java 项目中。 2. 创建一个 ConnectionProfile 对象,该对象定义了与 Fabric 网络的连接参数。 3. 创建一个 HFClient 对象,该对象表示一个 Fabric 用户的身份。 4. 通过调用 HFClient 对象的 setUserContext() 方法来设置用户身份。 5. 创建一个 Channel 对象,该对象表示与一个 Fabric 通道的连接。 6. 调用 Channel 对象的 initialize() 方法来初始化通道对象。 7. 创建一个 QueryByChaincodeRequest 对象,该对象用于查询链码。 8.调用 Channel 对象的 queryByChaincode() 方法,并传递 QueryByChaincodeRequest 对象作为参数,以执行查询。 9. 创建一个 TransactionProposalRequest 对象,它用于提交一个事务提议。 10. 调用 Channel 对象的 sendTransactionProposal() 方法,并传递 TransactionProposalRequest 对象作为参数,以向 Fabric 提交事务提议。 11. 创建一个 TransactionRequest 对象,该对象包含有关要提交的事务的详细信息。 12. 调用 Channel 对象的 sendTransaction() 方法,并传递 TransactionRequest 对象作为参数,以提交事务。 通过使用 fabric-sdk-java,您可以轻松地与 Hyperledger Fabric 网络进行交互,并执行各种操作,例如查询链码和提交事务。 希望这篇文章对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值