Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        /// <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);
        }