public async Task TestManualTx() { const string receiver = "SCpk7rqhA56LRzv3PKHfr31ptoSsCSeC5xn"; const string privateKey = " "; const decimal amount = 1000m; const ulong gasPrice = 3; const ulong gas = Constants.Commission; const ulong commission = gas * gasPrice; var key = new Key(privateKey.HexDecode()); var wallet = key.ToWallet(); var balance = await _httpService.GetBalance(Network, wallet.Base58Address); _testOutputHelper.WriteLine($"confirmed balance: {balance.ConfirmedAmount}"); _testOutputHelper.WriteLine($"unconfirmed balance: {balance.UnconfirmedAmount}"); var nonce = await _httpService.GetNonce(Network, wallet.Base58Address); const ulong txAmount = (ulong)(amount * (decimal)MoneyUnit.BTC); var tx = new TransactionRequest() .AddCommission(gasPrice, gas) .AddSender(wallet.Base58Address, key, txAmount + commission, nonce.ConfirmedNonce) .AddTransfer(receiver, txAmount) .Sign(); // _testOutputHelper.WriteLine(tx.ToJson()); var response = await _httpService.Send(Network, tx); _testOutputHelper.WriteLine(response.Result); }
/// <summary> /// return Balance in decimal format, already devided to 100000000 /// </summary> /// <param name="network"></param> /// <param name="address"></param> /// <returns></returns> public async Task <BalanceDto> GetBalance(string network, string address) { var item = await _httpService.GetBalance(network, address); item.ConfirmedAmount /= CurrencyDivider; item.UnconfirmedAmount /= CurrencyDivider; return(item); }