コード例 #1
0
ファイル: Program.cs プロジェクト: BardinPetr/bluzelle-csharp
        private static async Task Process(string[] args)
        {
            try
            {
                var config = new ConfigurationBuilder()
                             .AddJsonFile("appsettings.json")
                             .Build()
                             .GetSection("Bluzelle");

                var bz  = new BluzelleApi(config["Namespace"], config["Mnemonic"], config["Address"]);
                var gas = new GasInfo {
                    GasPrice = 10
                };

                if (args.Length == 0)
                {
                    PrintHelp();
                }
                switch (args[0])
                {
                case "create":
                    await bz.Create(args[1], args[2], new LeaseInfo(int.Parse(args[3])), gas);

                    break;

                case "txRead":
                    Console.WriteLine(await bz.TxRead(args[1], gas));
                    break;

                case "update":
                    await bz.Update(args[1], args[2], new LeaseInfo(int.Parse(args[3])), gas);

                    break;

                case "delete":
                    await bz.Delete(args[1], gas);

                    break;

                case "txHas":
                    Console.WriteLine(await bz.TxHas(args[1], gas));
                    break;

                case "txKeys":
                    foreach (var key in await bz.TxKeys(gas))
                    {
                        Console.WriteLine(key);
                    }
                    break;

                case "read":
                    Console.WriteLine(await bz.Read(args[1], args.Length > 2));
                    break;

                case "has":
                    Console.WriteLine(await bz.HasKey(args[1]));
                    break;

                case "keys":
                    foreach (var key in await bz.Keys())
                    {
                        Console.WriteLine(key);
                    }
                    break;

                case "rename":
                    await bz.Rename(args[1], args[2], gas);

                    break;

                case "count":
                    Console.WriteLine(await bz.Count());
                    break;

                case "txCount":
                    Console.WriteLine(await bz.TxCount(gas));
                    break;

                case "deleteAll":
                    await bz.DeleteAll(gas);

                    break;

                case "keyValues":
                    foreach (var(key, value) in await bz.GetKeyValues())
                    {
                        Console.WriteLine($"{key}: {value}");
                    }
                    break;

                case "txKeyValues":
                    foreach (var(key, value) in await bz.TxGetKeyValues(gas))
                    {
                        Console.WriteLine($"{key}: {value}");
                    }
                    break;

                case "multiUpdate":
                    var data = new Dictionary <string, string>();
                    for (var i = 1; i < args.Length; i += 2)
                    {
                        data.Add(args[i], args[i + 1]);
                    }
                    await bz.UpdateMany(data, gas);

                    break;

                case "getLease":
                    Console.WriteLine(await bz.GetLease(args[1]));
                    break;

                case "txGetLease":
                    Console.WriteLine(await bz.TxGetLease(args[1], gas));
                    break;

                case "renewLease":
                    await bz.Renew(args[1], new LeaseInfo(int.Parse(args[2])), gas);

                    break;

                case "renewLeaseAll":
                    await bz.RenewAll(new LeaseInfo(int.Parse(args[1])), gas);

                    break;

                case "getNShortestLease":
                    foreach (var(key, value) in await bz.GetNShortestLease(int.Parse(args[1])))
                    {
                        Console.WriteLine($"{key} - {value}");
                    }
                    break;

                case "txGetNShortestLease":
                    foreach (var(key, value) in await bz.TxGetNShortestLease(int.Parse(args[1]), gas))
                    {
                        Console.WriteLine($"{key} - {value}");
                    }
                    break;

                case "account":
                    var res = bz.GetAccount().Result;
                    Console.WriteLine($"{res.Address} - {res.Coins[0].Amount} {res.Coins[0].Denom}");
                    break;

                case "version":
                    Console.WriteLine(bz.GetVersion().Result);
                    break;

                default:
                    PrintHelp();
                    return;
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                PrintHelp();
            }
        }
コード例 #2
0
        public async Task <IActionResult> PostTest(MethodRunRequest req)
        {
            try
            {
                switch (req.Method)
                {
                case "create":
                    await _bz.Create(req.Args[0], req.Args[1], new LeaseInfo(int.Parse(req.Args[2])), _gas);

                    break;

                case "txRead":
                    Console.WriteLine(await _bz.TxRead(req.Args[0], _gas));
                    break;

                case "update":
                    await _bz.Update(req.Args[0], req.Args[1], new LeaseInfo(int.Parse(req.Args[2])), _gas);

                    break;

                case "delete":
                    await _bz.Delete(req.Args[0], _gas);

                    break;

                case "txHas":
                    Console.WriteLine(await _bz.TxHas(req.Args[0], _gas));
                    break;

                case "txKeys":
                    foreach (var key in await _bz.TxKeys(_gas))
                    {
                        Console.WriteLine(key);
                    }
                    break;

                case "read":
                    Console.WriteLine(await _bz.Read(req.Args[0], req.Args.Length > 2));
                    break;

                case "has":
                    Console.WriteLine(await _bz.HasKey(req.Args[0]));
                    break;

                case "keys":
                    foreach (var key in await _bz.Keys())
                    {
                        Console.WriteLine(key);
                    }
                    break;

                case "rename":
                    await _bz.Rename(req.Args[0], req.Args[1], _gas);

                    break;

                case "count":
                    Console.WriteLine(await _bz.Count());
                    break;

                case "txCount":
                    Console.WriteLine(await _bz.TxCount(_gas));
                    break;

                case "deleteAll":
                    await _bz.DeleteAll(_gas);

                    break;

                case "keyValues":
                    foreach (var(key, value) in await _bz.GetKeyValues())
                    {
                        Console.WriteLine($"{key}: {value}");
                    }
                    break;

                case "txKeyValues":
                    foreach (var(key, value) in await _bz.TxGetKeyValues(_gas))
                    {
                        Console.WriteLine($"{key}: {value}");
                    }
                    break;

                case "multiUpdate":
                    var data = new Dictionary <string, string>();
                    for (var i = 1; i < req.Args.Length; i += 2)
                    {
                        data.Add(req.Args[i], req.Args[i + 1]);
                    }
                    await _bz.UpdateMany(data, _gas);

                    break;

                case "getLease":
                    Console.WriteLine(await _bz.GetLease(req.Args[0]));
                    break;

                case "txGetLease":
                    Console.WriteLine(await _bz.TxGetLease(req.Args[0], _gas));
                    break;

                case "renewLease":
                    await _bz.Renew(req.Args[0], new LeaseInfo(int.Parse(req.Args[1])), _gas);

                    break;

                case "renewLeaseAll":
                    await _bz.RenewAll(new LeaseInfo(int.Parse(req.Args[0])), _gas);

                    break;

                case "getNShortestLease":
                    foreach (var(key, value) in await _bz.GetNShortestLease(int.Parse(req.Args[0])))
                    {
                        Console.WriteLine($"{key} - {value}");
                    }
                    break;

                case "txGetNShortestLease":
                    foreach (var(key, value) in await _bz.TxGetNShortestLease(int.Parse(req.Args[0]), _gas))
                    {
                        Console.WriteLine($"{key} - {value}");
                    }
                    break;

                case "account":
                    var res = _bz.GetAccount().Result;
                    Console.WriteLine($"{res.Address} - {res.Coins[0].Amount} {res.Coins[0].Denom}");
                    break;

                case "version":
                    Console.WriteLine(_bz.GetVersion().Result);
                    break;

                default:
                    return(StatusCode(400));
                }
            }
            catch (Exception exception)
            {
                return(StatusCode(400, exception.Message));
            }

            return(Ok("result"));
        }