43 lines
1.7 KiB
Java
43 lines
1.7 KiB
Java
package blockchain.query;
|
|
|
|
import blockchain.client.ChannelClientWrapper;
|
|
import blockchain.client.FabricClientWrapper;
|
|
import blockchain.configuration.Config;
|
|
import blockchain.user.UserContext;
|
|
import blockchain.utility.Util;
|
|
import org.hyperledger.fabric.sdk.BlockEvent;
|
|
import org.hyperledger.fabric.sdk.ChaincodeID;
|
|
import org.hyperledger.fabric.sdk.ProposalResponse;
|
|
import org.hyperledger.fabric.sdk.TransactionProposalRequest;
|
|
|
|
import java.util.Collection;
|
|
|
|
public class TransactionWrapper {
|
|
|
|
public String sendTransaction(String from, String to, String amount){
|
|
try{
|
|
UserContext userContext = Util.readUserContext(Config.ORG1,"User-org1");
|
|
String chaincode = Config.CHAINCODE_NAME;
|
|
FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(userContext);
|
|
|
|
ChannelClientWrapper channelClientWrapper = ChannelClientWrapper.setupChannel(fabricClientWrapper);
|
|
|
|
TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest();
|
|
ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build();
|
|
tpr.setChaincodeID(cid);
|
|
tpr.setFcn("invoke");
|
|
tpr.setArgs(new String[]{from,to,amount});
|
|
|
|
Collection<ProposalResponse> responses = channelClientWrapper.sendTransactionProposal(tpr);
|
|
System.out.println("VERIFY HERE, TRY TO SEND TRANSACTION");
|
|
BlockEvent.TransactionEvent event = channelClientWrapper.sendTransaction(responses);
|
|
|
|
return event.getTransactionID();
|
|
|
|
}catch (Exception e){
|
|
e.printStackTrace();
|
|
return null;
|
|
}
|
|
}
|
|
}
|