public override async Task <Response> Invoke(IChaincodeStub stub) { var function = stub.GetFunctionAndParameters().Function; _logger.LogInformation($"========== START: {function} =========="); var result = await base.Invoke(stub); _logger.LogInformation($"========== END: {function} =========="); return(result); }
public virtual async Task <Response> Invoke(IChaincodeStub stub) { var functionParameterInformation = stub.GetFunctionAndParameters(); if (!ContainsKey(functionParameterInformation.Function)) { return(Shim.Error( $"Chaincode invoked with unknown method name: {functionParameterInformation.Function}")); } try { return(Shim.Success( await this[functionParameterInformation.Function](stub, functionParameterInformation.Parameters) )); } catch (Exception ex) { return(Shim.Error(ex)); } }
public async Task <Response> Init(IChaincodeStub stub) { _logger.LogInformation("=================== Example Init ==================="); var functionAndParameters = stub.GetFunctionAndParameters(); var args = functionAndParameters.Parameters; args.AssertCount(4); if (!args.TryGet <int>(1, out var aValue) || !args.TryGet <int>(3, out var bValue)) { return(Shim.Error("Expecting integer value for asset holding")); } if (await stub.PutState("a", aValue) && await stub.PutState("b", bValue)) { return(Shim.Success()); } return(Shim.Error("Error during Chaincode init!")); }