我正在使用 Hyperledger Fabric 1.4v,运行一个具有两个对等点(peer0,peer1)的组织,每个对等点(peer0,peer1)在本机设置中的单独虚拟机上运行。Orderer 也在单独的虚拟机上运行。在 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();
}