static KeyPair CreateRandomAccount(Account source, long nativeAmount)
        {
            var master = KeyPair.Master();
            var dest = KeyPair.Random();

            var operation =
                new CreateAccountOperation.Builder(dest, nativeAmount)
                .SetSourceAccount(source.KeyPair)
                .Build();

            source.IncrementSequenceNumber();

            Stellar.Transaction transaction =
                new Stellar.Transaction.Builder(source)
                .AddOperation(operation)
                .Build();

            transaction.Sign(source.KeyPair);

            string message = transaction.ToEnvelopeXdrBase64();

            string response = GetResult(message);

            Console.WriteLine(response);
            Console.WriteLine(dest.AccountId);
            Console.WriteLine(dest.Seed);

            return dest;
        }
        private static void CreateAccountSample()
        {
            // get master
            var master = KeyPair.Master();
            Account masterSource = new Account(master, 1);

            // create account
            var green = CreateRandomAccount(masterSource, 1000);

            Console.Read();
        }
        public Stellar.Transaction SampleTransaction(string destAccountId)
        {
            Stellar.Network.CurrentNetwork = "";

            var master = KeyPair.Master();
            var dest = string.IsNullOrEmpty(destAccountId) ? KeyPair.Random() : KeyPair.FromAccountId(destAccountId);

            var sourceAccount = new Account(master, 1);

            CreateAccountOperation operation =
                new CreateAccountOperation.Builder(dest, 1000)
                //.SetSourceAccount(master)
                .Build();

            Stellar.Transaction transaction =
                new Stellar.Transaction.Builder(sourceAccount)
                .AddOperation(operation)
                .Build();

            return transaction;
        }
        static void PaymentFromMaster(KeyPair kp, long amount)
        {
            // get master
            var master = KeyPair.Master();
            Account masterSource = new Account(master, 1);

            // load asset
            Stellar.Generated.Asset asset = Stellar.Asset.Native();

            var operation =
                new PaymentOperation.Builder(kp, asset, amount)
                .SetSourceAccount(masterSource.KeyPair)
                .Build();

            masterSource.IncrementSequenceNumber();

            Stellar.Transaction transaction =
                new Stellar.Transaction.Builder(masterSource)
                .AddOperation(operation)
                .Build();

            transaction.Sign(masterSource.KeyPair);

            string message = transaction.ToEnvelopeXdrBase64();

            string response = GetResult(message);

            Console.WriteLine(response);
        }
        static void Main(string[] args)
        {
            Stellar.Network.CurrentNetwork = "Test SDF Network ; September 2015";

            var master = KeyPair.Master();
            Account masterSource = new Account(master, 0);

            var dest = CreateRandomAccount(masterSource, 1000 * Stellar.One.Value);

            PaymentFromMaster(dest, 10 * Stellar.One.Value);

            Console.Read();
        }