当从 fabric 客户端应用程序提交交易时,实际上从哪个对等 SDK 向网络提交交易?

When Submitting transaction from fabric client application, from which peer SDK will actually submits transaction to the network?

我正在浏览 Hyperledger Fabric web 应用程序 development.Im 仍然与 fabcar nodejs 示例混淆,其中链代码部署在第一个网络(总共 4 个对等点)上。在我们 运行 startFabric.sh 之后,我们可以使用 query.js or invoke.js 查询或提交交易。同时,我们通过 Fabric 节点 SDK 与网络通信。例如,如果我们尝试更改车主,我们只需使用此功能修改 invoke.js 和 运行 node invoke.js 然后它会简单地更改分类帐中的特定车主。我的问题是,我们目前有 4 个节点安装了我们的链代码,SDK 将从哪个节点实际向网络提交交易?如果我们想从另一个节点提交交易怎么办?我们如何在invoke.js中定义连接点(交易提交点)任何澄清??

有两件事需要澄清..

当您从 SDK 客户端提交交易时,它将转至背书节点进行背书,然后 return 返回客户端,并根据背书结果和实际负载连接到排序节点

我希望你正在使用 fabcar/javascript-low-level

您可以在下面的目标中提及它需要从客户端发送 Tx 的哪些节点

注意:这里只是客户端了解peer,当你发送的时候会发给所有背书peer。 (客户端发起请求)

其实你不应该关心它尝试网关服务

    const proposal_request = {
        targets: [peer],
        chaincodeId: 'fabcar',
        fcn: 'createCar',
        args: ['CAR12', 'Honda', 'Accord', 'Black', 'Tom'],
        chainId: 'mychannel',
        txId: tx_id
    };