【问题标题】:HyperLedger fabric java sdkHyperLedger 结构 java sdk
【发布时间】:2020-04-02 06:24:15
【问题描述】:

我正在使用 Hyperledger Fabric 1.4v,运行一个具有两个对等点(peer0,peer1)的组织,每个对等点(peer0,peer1)在本机设置中的单独 vm 上运行。Orderer 也在单独的 vm 上运行。在 web 客户端中,使用 java sdk 执行链代码,并使用 fabric-ca 对每个用户进行身份验证。当通过 java sdk 执行链代码时,我面临延迟问题(需要一分钟以上),但是当通过 shell 脚本执行链代码时它工作正常。

 try {
                Wallet wallet = Wallet.createFileSystemWallet(walletPath);
                Gateway.Builder builder = Gateway.createBuilder();
                builder.identity(wallet, "admin").networkConfig(networkConfigPath).discovery(true);

                try (Gateway gateway = builder.connect()) {

                    Network network = gateway.getNetwork(channelName);
                    logger.info("ChannelName:::" + channelName);
                    Contract contract = network.getContract(chaincodeName);
                    logger.info("ChaincodeName:::" + chaincodeName);

                    result = contract.evaluateTransaction(chaincodeMethod);
                    logger.info("ChaincodeExecutor::::Result:::" + result);

                }

            } catch (Exception e) {
                logger.info("ChaincodeExecutor::::ERROR::" + e.getMessage());
                e.printStackTrace();
            }

【问题讨论】:

    标签: hyperledger-fabric hyperledger-fabric-ca hyperledger-chaincode chaincode hyperledger-fabric-sdk-java


    【解决方案1】:

    Chaincode 在其自己的 docker 容器上运行,该容器由对等方启动。第一次,如果该容器(针对该链代码版本)尚未启动,则必须启动它,因此需要时间。

    第二个请求(在同一个节点上)是否需要这么多时间?如果是这样,您必须检查您的链代码,特别是丰富的查询(设置索引和改进查询)。网络相关和硬件相关的资源也很重要。

    您客户的代码对您的问题贡献不大。

    【讨论】:

    • 它在本机设置中。为了澄清,我更新了问题。我需要附加任何其他文件吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-10
    相关资源
    最近更新 更多