Esempio n. 1
0
        private static void Start()
        {
            int choice;
            var service = new AccountService();

            do
            {
                Console.WriteLine("----------------------");
                Console.WriteLine("Welcome to the Nxt Console Demo");
                Console.WriteLine("");
                Console.WriteLine("Available commands are:");
                Console.WriteLine("1) Check balance");
                Console.WriteLine("2) Send nxt");
                Console.WriteLine("3) Exit");
                Console.WriteLine("----------------------");
                Console.Write("What is your command master: ");

                choice = GetIntFromConsole();

                if (choice == 1)
                {
                    Console.Write("Enter your nxt account id: ");
                    var accountId = Console.ReadLine();
                    var reply     = service.GetBalance(accountId).Result;
                    Console.WriteLine("Current balance: {0} Nxt", reply.Balance.Nxt);
                }
                else if (choice == 2)
                {
                    Console.Write("Enter your secret passphrase: ");
                    var pass = Console.ReadLine();
                    Console.Write("Enter recipient account id: ");
                    var recipient = Console.ReadLine();
                    Console.Write("Enter number of Nxt to send: ");
                    var amount = Amount.CreateAmountFromNxt(GetIntFromConsole());

                    var transactionParameters = new CreateTransactionBySecretPhrase(true, 60,
                                                                                    Amount.CreateAmountFromNxt(1), pass);
                    var reply       = service.SendMoney(transactionParameters, recipient, amount).Result;
                    var transaction = reply.Transaction;
                    Console.WriteLine("{0} Nxt was sent to {1} in transaction {2}", transaction.Amount.Nxt,
                                      transaction.RecipientRs, transaction.TransactionId);
                }
            } while (choice != 3);
        }
Esempio n. 2
0
        public async Task SendMoney(long accountId, string recipientAddress, long amountNqt, string message, string publicKey = null)
        {
            var account = await wallet.GetAccount(accountId);

            var parameters = new CreateTransactionBySecretPhrase(true, 1440, NxtLib.Amount.Zero, account.SecretPhrase);

            if (!string.IsNullOrEmpty(message))
            {
                parameters.EncryptedMessage = new MessageToBeEncrypted(message, true, true);
            }
            if (!string.IsNullOrEmpty(publicKey))
            {
                parameters.RecipientPublicKey = publicKey;
            }
            var sendMoneyReply = await accountService.SendMoney(parameters, recipientAddress, Amount.CreateAmountFromNqt(amountNqt));

            account.BalanceNqt -= (sendMoneyReply.Transaction.Amount.Nqt + sendMoneyReply.Transaction.Fee.Nqt);
            await wallet.UpdateAccountBalance(accountId, account.BalanceNqt);
        }
Esempio n. 3
0
        public async Task <ulong> Transfer(NxtAccount senderAccount, string addressRs, NxtTransferable transferable, decimal amount, string message, string recipientPublicKey = "")
        {
            SetNxtProperties(senderAccount);
            var parameters = new CreateTransactionBySecretPhrase(true, 1440, Amount.OneNxt, senderAccount.SecretPhrase);

            parameters.RecipientPublicKey = recipientPublicKey;
            parameters.Message            = new CreateTransactionParameters.UnencryptedMessage(message, true);
            var quantity = (long)(amount * (long)Math.Pow(10, transferable.Decimals));

            switch (transferable.Type)
            {
            case NxtTransferableType.Nxt: return(await SendMoney(parameters, addressRs, quantity));

            case NxtTransferableType.Asset: return(await TransferAsset(addressRs, transferable.Id, quantity, parameters));

            case NxtTransferableType.Currency: return(await TransferCurrency(addressRs, transferable.Id, quantity, parameters));

            default: throw new ArgumentException($"Unsupported NxtTransferableType: {transferable.Type}", nameof(transferable));
            }
        }
Esempio n. 4
0
 public async Task UploadTaggedData(string data, string name, string tags, string description, string secretPhrase)
 {
     var parameters = new CreateTransactionBySecretPhrase(true, 1440, Amount.OneNxt, secretPhrase);
     var reply      = await taggedDataService.UploadTaggedData(name, data, parameters, null, description, tags, isText : true);
 }