如何获得特定同行的认可?

时间:2019-08-30 20:34:26

标签: hyperledger-fabric hyperledger-fabric-sdk-js

在使用contract.submitTransaction()channel.sendTransaction()以Hyperledger架构提交交易之后,是否有办法从特定的同行那里获得认可? 到目前为止,认可似乎总是来自同一个同行,而不是组织中的其他同行。请在下面查看我的环境详细信息。 另外,如果我使用首选节点sdk sendTransactionProposal(request)'s ChaincodeInvokeRequest或忽略列表来定位特定的对等节点,这似乎没有任何区别。 是否有解决此问题的任何特定文档或替代资源?

ChaincodeInvokeRequest {   目标:allPeers或peer2,//或其他对等   首选:peer2,   忽略,peer1 }

环境详细信息 当前设置: 1个单位和2个同行

简单的认可政策:

{"identities":[{"role":{"name":"member","mspId":"Org1MSP"}}],policy:{"1-of":[{"signed-by":0}]}}

织物SDK库:

fabric-ca-client - v1.4.1
fabric-client - v1.4.1
fabric-network - v1.4.1

超级账本结构版本:v1.4.1

使用以下方法定位sdk中的特定对等点:

const request = {
      targets: peers or peer[1] or [peer2], -- target specific peer
      chaincodeId: chaincodeName,
      txId,
      fcn: functionName,
      args,
      transientMap: transientMapData // , // private data,
      ignore: list of peer[s] to ignore
      preferred: list of peer[s] to prefer
    };


    const endorsementResults = await channel.sendTransactionProposal(request);

    if (channel.verifyProposalResponse(endorsementResults[0][0])) {
      const transactionRequest = {
        proposalResponses: endorsementResults[0],
        proposal: endorsementResults[1]
      };
      invokeResponse = await channel.sendTransaction(transactionRequest);
    } 

预期结果:

  

transaction1-客户端向peer1提交交易,并获得peer1的背书。   transaction2-客户向peer2提交交易,并获得peer2的认可。

实际结果:

  

transaction1-客户端向peer1提交交易,并获得peer1的背书。   transaction2-客户向peer2提交交易,并获得peer1的认可。

0 个答案:

没有答案