//private static uint ToEpoch(DateTime date) //{ // return (uint)(date - new DateTime(1970, 1, 1)).TotalSeconds; //} private static async Task TestService() { var web3 = new Web3Geth(ContractOwner, Endpoint); // var gasForDeployContract = new HexBigInteger(3000000); // 2959216 Console.WriteLine(DateTime.Now); Console.WriteLine("Deploying Contract..."); _contractAddress = await SupplyChainLogContractService.DeployContractAsync(web3, ContractOwner.Address, null, null); Console.WriteLine("Deploying Contract done"); Console.WriteLine(DateTime.Now); await TestOrders(); }
private static async Task TestOrders() { Console.WriteLine("TestOrders"); var web3Manufacturer = new Web3Geth(Manufacturer1, Endpoint); ISupplyChainLogContractService service = new SupplyChainLogContractService(web3Manufacturer, _contractAddress); var orderEvent = service.GetAddOrderEvent(); var orderFilterAll = await orderEvent.CreateFilterAsync(); await service.ExecuteTransactionAsync(srv => srv.AddOrderAsync(Manufacturer1.Address, "ean 1")); await service.ExecuteTransactionAsync(srv => srv.AddOrderAsync(Manufacturer1.Address, "ean 2")); await service.ExecuteTransactionAsync(srv => srv.AddOrderAsync(Manufacturer1.Address, "ean 3")); try { await service.ExecuteTransactionAsync(srv => srv.AddOrderAsync(Manufacturer1.Address, "ean error")); } catch (Exception) { Console.WriteLine("Adding order with wrong ean fails"); } var addLog = await orderEvent.GetFilterChanges(orderFilterAll); Console.WriteLine("OrderEvent log:"); foreach (var log in addLog) { Console.WriteLine("log: " + JsonConvert.SerializeObject(log, Formatting.Indented)); } var count = await service.GetOrderCountCallAsync(Manufacturer1.Address); Console.WriteLine("count: " + count); for (int idx = 0; idx < count; idx++) { var orderId = await service.GetOrderIdAtIndexCallAsync(Manufacturer1.Address, idx); var o = await service.GetOrderByIdCallAsync(Manufacturer1.Address, orderId); Console.WriteLine("order[" + idx + "] = " + JsonConvert.SerializeObject(new { order = o, uuid = new Guid(o.Id) }, Formatting.Indented)); } }
private static async Task TestService() { var web3 = new Web3Geth(ContractOwner); var gasForDeployContract = new HexBigInteger(15000000); Console.WriteLine("Deploying Contract..."); _contractAddress = await SupplyChainLogContractService.DeployContractAsync(web3, ContractOwner.Address, null, gasForDeployContract); Console.WriteLine("Deploying Contract done"); ISupplyChainLogContractService service = new SupplyChainLogContractService(web3, _contractAddress); var closeResult = await service.CloseAsync(ContractOwner.Address, new HexBigInteger(900000)); Console.WriteLine($"closeResult = {closeResult}"); }