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); } } }