コード例 #1
0
        public static async void TestTransfer(HttpMessage httpMessage)
        {
            if (Wallet.GetWallet().keys.Count < 1000)
            {
                for (int ii = Wallet.GetWallet().keys.Count; ii < 1000; ii++)
                {
                    Wallet.GetWallet().Create("123");
                }
                Wallet.GetWallet().SaveWallet();

                Log.Info("TestTransfer create");

                Session session2 = null;
                for (int ii = 1; ii < 1000; ii++)
                {
                    int random1 = 0;
                    int random2 = ii;
                    int random3 = 100000;

                    BlockSub transfer = new BlockSub();
                    transfer.type       = "transfer";
                    transfer.addressIn  = Wallet.GetWallet().keys[random1].ToAddress();
                    transfer.addressOut = Wallet.GetWallet().keys[random2].ToAddress();
                    transfer.amount     = random3.ToString();
                    transfer.data       = $"";
                    transfer.depend     = "";
                    transfer.nonce      = HttpRpc.GetAccountNotice(transfer.addressIn, false);
                    transfer.timestamp  = TimeHelper.Now();
                    transfer.hash       = transfer.ToHash();
                    transfer.sign       = transfer.ToSign(Wallet.GetWallet().keys[random1]);

                    session2 = await HttpRpc.OnTransferAsync2(transfer, session2);

                    while (session2 == null)
                    {
                        session2 = await HttpRpc.OnTransferAsync2(transfer, session2);
                    }
                    ;
                }
            }
            else
            {
                if (!HttpRpc.GetParam(httpMessage, "3", "Count", out string strCount))
                {
                    httpMessage.result = "command error! \nexample: test 5 Address C:\\Address.csv";
                    return;
                }
                TestTransfersyncCount = int.Parse(strCount);

                var consensus = Entity.Root.GetComponent <Consensus>();
                while (true)
                {
                    Log.Info($"Test2Async {TestTransfersyncCount}");
                    consensus.AddRunAction(TestTransfersync);
                    await Task.Delay(1000);
                }
            }
        }