package blockchain.query.Wallet; import blockchain.client.ChannelClientWrapper; import blockchain.client.FabricClientWrapper; import blockchain.configuration.Config; import blockchain.query.QueryTest; import blockchain.user.UserContext; import blockchain.utility.Util; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Logger; import org.hyperledger.fabric.sdk.*; import org.junit.Ignore; import org.junit.Test; import java.util.Collection; import java.util.LinkedList; import java.util.Set; @Ignore public class TransactionTestNewVersion { private static Logger logger = Logger.getLogger(QueryTest.class); @Test public void TestQueryWallet() { BasicConfigurator.configure(); UserContext user = Util.readUserContext(Config.ORG1,Config.ADMIN); try{ String chaincode = Config.CHAINCODE_NAME; Collection successful = new LinkedList<>(); Collection failed = new LinkedList<>(); logger.info("userContext : "+user.getName()); FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(user); ChannelClientWrapper channelClientWrapper = fabricClientWrapper.createChannelClient(Config.CHANNEL_NAME); Channel channel = channelClientWrapper.getChannel(); Orderer orderer = fabricClientWrapper.getClient().newOrderer(Config.ORDERER_NAME,Config.ORDERER_URL); channel.addOrderer(orderer); Peer peer = fabricClientWrapper.getClient().newPeer(Config.ORG1_PEER_0,Config.ORG1_PEER_0_URL); channel.addPeer(peer); channel.initialize(); //CONTROL logger.info("channel INIT : "+channel.isInitialized()); for(Peer p : channel.getPeers()){ Set channels = fabricClientWrapper.getClient().queryChannels(peer); logger.info("channels "+channels); } // TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest(); ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); tpr.setChaincodeID(cid); tpr.setFcn("queryWalletsByOwner"); tpr.setArgs(new String[]{"bitman"}); tpr.setProposalWaitTime(120000); Collection invokePropResp = channel.sendTransactionProposal(tpr); for(ProposalResponse response : invokePropResp){ if (response.getStatus() == ChaincodeResponse.Status.SUCCESS) { logger.info("Successful transaction proposal response Txid: "+response.getTransactionID()+" from peer "+response.getPeer().getName()); successful.add(response); } else { failed.add(response); } } logger.info("Received "+invokePropResp.size()+" transaction proposal responses. Successful+verified: "+successful.size()+". Failed: "+failed.size()); }catch (Exception e){ e.printStackTrace(); } } }