public FabCarItem ChangeCarOwner(string key, string newOwerner) { // changeCarOwner chaincode function - requires 2 args , ex: args: ['CAR10', 'Dave'], var t = client.NewQueryProposalRequest(); var request = t; t.ChaincodeID = new Hyperledger.Fabric.SDK.ChaincodeID() { Name = chaincode }; t.Fcn = "changeCarOwner"; t.Args = new System.Collections.Generic.List <string>() { key, newOwerner }; var response = channel.QueryByChaincode(t); if (!response[0].IsInvalid) { var item = new FabCarItem() { Key = key, Record = Newtonsoft.Json.JsonConvert.DeserializeObject <Record>(System.Text.Encoding.UTF8.GetString(response[0].ChaincodeActionResponsePayload)) }; return(item); } Console.WriteLine(response[0].Message); return(null); }
public void CreateCar(FabCarItem carItem) { // createCar chaincode function - requires 5 args, ex: args: ['CAR12', 'Honda', 'Accord', 'Black', 'Tom'], var tx_id = client.NewTransactionProposalRequest(); tx_id.Args = new List <string>() { carItem.Key, carItem.Record.make, carItem.Record.model, carItem.Record.color, carItem.Record.owner, }; tx_id.ChaincodeID = new Hyperledger.Fabric.SDK.ChaincodeID() { Name = chaincode }; tx_id.Fcn = "createCar"; var result = channel.SendTransactionProposal(tx_id); if (result.Count > 0) { // return Newtonsoft.Json.JsonConvert.DeserializeObject<FabCarCollections>(System.Text.Encoding.UTF8.GetString(result[0].ChaincodeActionResponsePayload)); Console.WriteLine(result[0].TransactionID); var eventHub = client.NewEventHub("event1", $"grpc://{Program.ServerIP}:7053"); channel.AddEventHub(eventHub); eventHub.ConnectAsync(result[0].TransactionContext).Wait(); var result2 = channel.SendTransaction(result); while (true) { Console.Write($"\r{eventHub.Status}"); break; } } //return null; }