Beispiel #1
0
        public async Task <bool> SendTransaction(string transactionHex)
        {
            SendTransactionData.Request arg = new SendTransactionData.Request()
            {
                binary_transaction = transactionHex
            };

            RpcRequest <SendTransactionData.Request> request = new RpcRequest <SendTransactionData.Request>()
            {
                Method    = "send_transaction",
                Arguments = arg
            };

            RpcResponse <SendTransactionData.Response> response = await PostAsync <RpcResponse <SendTransactionData.Response> >(request, Uri);

            if (response.Error != null)
            {
                throw new RpcException(response.Error.Message);
            }

            if (response.Result.send_result == "broadcast")
            {
                return(true);
            }

            return(false);
        }
        public async Task <string> Transfer(string fromAddress, string toAddress, ulong amount, string paymentId = "", ulong fee = 1000000, ulong mixin = 0, ulong unlockTime = 0)
        {
            SendTransactionData.Request arg = new SendTransactionData.Request()
            {
                Addresses = new string[1]
                {
                    fromAddress
                },
                Transfers = new SendTransactionData.Request.Transfer[1]
                {
                    new SendTransactionData.Request.Transfer()
                    {
                        Address = toAddress,
                        Amount  = amount
                    }
                },
                PaymentId  = paymentId,
                Fee        = fee,
                Mixin      = mixin,
                UnlockTime = unlockTime
            };

            RpcRequest <SendTransactionData.Request> request = new RpcRequest <SendTransactionData.Request>()
            {
                Method    = "sendTransaction",
                Arguments = arg
            };

            RpcResponse <SendTransactionData.Response> response = await PostAsync <RpcResponse <SendTransactionData.Response> >(request, Uri);

            if (response.Error != null)
            {
                throw new RpcException(response.Error.Message);
            }

            return(response.Result.TransactionHash);
        }