执行查询交易时仅选择背书的对等节点-Node SDK

时间:2019-10-18 13:57:46

标签: node.js hyperledger-fabric blockchain ibm-blockchain

调用setEndorsingPeers()时是否可以调用contract.evaluateTransaction()? 还有其他方法可以实现吗? 我遇到的问题如下:

我有两个组织,每个组织都有两个同行: peer0 peer1 。 但是,只有对等体 peer0 认可了对等体。因此,在查询状态时,有时事务到达对等方 peer1 ,并且抛出Error。 我在Querying chaincode is only successful in ~3/5 cases with nodejs找到了一种解决方法,但是这需要我将所有同伴提升为认可同伴。 我只向同伴承诺的方法是否有效和正确? 先感谢您。

P.S。没有人在另一个线程上做出响应,我相信这是一个有效的单独问题,其解决方案不是那种解决方法。

1 个答案:

答案 0 :(得分:1)

我有同样的问题。下面是我的解决方案。

1)在连接配置文件上,确保设置哪个对等方是背书者/提交者:

    "channels": {
    "mychannel": {
        "orderers": [],
        "peers": {
            "peer0.example.com": {
                "endorsingPeer": true,
                "chaincodeQuery": true,
                "ledgerQuery": true,
                "eventSource": true
            },
            "peer1.example.com": {
                "endorsingPeer": false,
                "chaincodeQuery": false,
                "ledgerQuery": false,
                "eventSource": true
            }
        },
        "chaincodes": []
    }
},

2)使用结构网络SDK查询:link

我希望这会有所帮助。