Пример #1
0
        //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();
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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}");
        }