Hyperledger Fabric - 基于参与交易的特定方的背书
Hyperledger Fabric - endorsement based on specific parties involved in the transaction
我正在使用 Fabric 和 Composer。我了解您在实例化时设置了背书策略。但是,如果是这种情况并且我有以下情况:
A公司说它已将实物资产转移给B公司。我希望B公司成为交易的背书人,但A公司可能已将其转移给B、C或D等...
因此是否可以在运行时动态选择接收公司作为背书人?
更新了答案:
是的,有一种方法可以根据背书策略动态选择背书节点。 Hyperledger Fabric v1.2 及更高版本提供名为服务发现的服务。需要在对等级别启用此服务。
启用后,您可以使用服务发现向通道发送交易。服务发现会自行检查背书策略,并将交易提议发送给所需的背书人。
附上 JAVA-SDK 申请的片段:
channel.sendTransactionProposalToEndorsers(request,
createDiscoveryOptions().setEndorsementSelector(ServiceDiscovery.EndorsementSelector.ENDORSEMENT_SELECTION_RANDOM)
.setForceDiscovery(true));
有一个应用程序 SDK 的概念,用于与您的 Hyperleger 网络交互。如果您有多个组织,每个组织都需要有自己的 SDK。使用该 SDK,您可以利用服务发现来定位背书节点以发送交易建议。
请参考此图片
希望对您有所帮助。
我正在使用 Fabric 和 Composer。我了解您在实例化时设置了背书策略。但是,如果是这种情况并且我有以下情况:
A公司说它已将实物资产转移给B公司。我希望B公司成为交易的背书人,但A公司可能已将其转移给B、C或D等...
因此是否可以在运行时动态选择接收公司作为背书人?
更新了答案:
是的,有一种方法可以根据背书策略动态选择背书节点。 Hyperledger Fabric v1.2 及更高版本提供名为服务发现的服务。需要在对等级别启用此服务。
启用后,您可以使用服务发现向通道发送交易。服务发现会自行检查背书策略,并将交易提议发送给所需的背书人。
附上 JAVA-SDK 申请的片段:
channel.sendTransactionProposalToEndorsers(request,
createDiscoveryOptions().setEndorsementSelector(ServiceDiscovery.EndorsementSelector.ENDORSEMENT_SELECTION_RANDOM)
.setForceDiscovery(true));
有一个应用程序 SDK 的概念,用于与您的 Hyperleger 网络交互。如果您有多个组织,每个组织都需要有自己的 SDK。使用该 SDK,您可以利用服务发现来定位背书节点以发送交易建议。
请参考此图片
希望对您有所帮助。