Список всех каналов в сети Hyperledger Fabric с помощью NODE SDK

Как я могу получить список всех каналов в сети Hyperledger Fabric?
Если это невозможно, могу ли я перечислить все каналы, к которым присоединилась конкретная организация.

Я знаю я могу использовать queryChannels API класса Client для получения списка каналов, к которым присоединился конкретный одноранговый узел, но я хочу знать хотя бы имена каналов всех одноранговых узлов в конкретной организации.




Ответы (1)


Вы можете использовать метод getChannelPeers после получения канала. список с queryChannels

    let result = await client.queryChannels(peer);

    result.channels.forEach(channel => {
        let channelName = channel.channel_id;
        let channelInstance = client.getChannel(channelName);

        let channelPeers = channel.getChannelPeers();
    });
person Hnampk    schedule 25.04.2019
comment
Думаю, мой вопрос непонятен. Предположим, что существует организация Org1 с тремя одноранговыми узлами (P1, P2 и P3) и четыре канала C1, C2, C3 и C4 в сети. P1 присоединился к каналу C1, P2 присоединился к C2, а P3 присоединился к C3. Теперь я хочу написать API, чтобы я мог получить все имена каналов, к которым присоединяются одноранговые узлы org1 (здесь ответ - C1, C2 и C3) - person Sourav; 25.04.2019
comment
привет @Sourav, я думаю, вы могли бы достичь своей цели, выполнив следующие действия: (1) Получите список Peer с помощью метода client.getPeersForOrg(mspid). (2) После того, как вы получите список пиров, вы можете вызвать метод client.queryChannels(peer) для каждого пира в этом списке. Надеюсь, это поможет вам! - person Hnampk; 26.04.2019