Node.js 如何使用节点查询hyperledger结构的参与者组织?

Node.js 如何使用节点查询hyperledger结构的参与者组织?,node.js,hyperledger-fabric,Node.js,Hyperledger Fabric,我想让一个组织有机会在结构样本上查询参与组织的名称。我搜索了NodeSDK文档,找到了函数getOrganizations();返回代表渠道参与组织的OrganizationIdentifier对象数组 下面是一个示例代码 async function initGatewayForOrg1() { console.log(`${GREEN}--> Fabric client user & Gateway init: Using Org1 identity to Org1 P

我想让一个组织有机会在结构样本上查询参与组织的名称。我搜索了NodeSDK文档,找到了函数getOrganizations();返回代表渠道参与组织的OrganizationIdentifier对象数组

下面是一个示例代码

async function initGatewayForOrg1() {
    console.log(`${GREEN}--> Fabric client user & Gateway init: Using Org1 identity to Org1 Peer${RESET}`);

    const ccpOrg1 = buildCCPOrg1();

    const caOrg1Client = buildCAClient(FabricCAServices, ccpOrg1, 'ca.org1.example.com');


    const walletPathOrg1 = path.join(__dirname, 'wallet', 'org1');
    const walletOrg1 = await buildWallet(Wallets, walletPathOrg1);

    await enrollAdmin(caOrg1Client, walletOrg1, org1);
    await registerAndEnrollUser(caOrg1Client, walletOrg1, org1, Org1UserId, 'org1.department1');

    try {
        const gatewayOrg1 = new Gateway();
        await gatewayOrg1.connect(ccpOrg1,
            { wallet: walletOrg1, identity: Org1UserId, discovery: { enabled: true, asLocalhost: true } });

        return gatewayOrg1;
    } catch (error) {
        console.error(`Error in connecting to gateway for Org1: ${error}`);
        process.exit(1);
    }
}

async function main() {
    console.log(`${GREEN} **** START ****${RESET}`);
    try {
        const gatewayOrg1 = await initGatewayForOrg1();
        const networkOrg1 = await gatewayOrg1.getNetwork(channelName);
        const channelOrgs = networkOrg1.getOrganizations();
        } catch (error) {
        console.error(`Error in setup: ${error}`);
        if (error.stack) {
            console.error(error.stack);
        }
        process.exit(1);
    }
    console.log(` **** END ****`);
}
main();
但结果是:

设置错误:TypeError:networkOrg1.getOrganizations不是函数 TypeError:networkOrg1.getOrganizations不是一个函数


有人知道错误是什么吗?或者任何其他解决方案?

您没有说明您正在使用哪个版本的node sdk

错误是说networkOrg1上没有
getOrganizations
方法,这是正确的,该方法在node sdk 1.4或node sdk 2.2中的网络对象上都不存在


该方法仅存在于节点sdk 1.4中的通道对象上(即不存在于节点sdk 2.2中)。在node sdk 1.4中,您可以使用
getChannel
方法从网络对象获取通道对象。

Hi HectorCode!您正在使用哪个版本的Hyperledger结构?正如david_k在其回复中所提到的,SDKHello@Urko的2.2版没有可用的方法。是的,我不知道,我正在尝试版本2.2