public ViewResult Index() { MakersModel makers = GetMakers(); Trace.TraceInformation("Hello"); return(View(makers)); }
public static MakersModel GetMakers() { QBitNinjaClient client = CreateClient(); var balance = client.GetBalance(new BitcoinPubKeyAddress("1KF8kUVHK42XzgcmJF4Lxz4wcL5WDL97PB")); MakersModel makers = new MakersModel(); var tip = client.GetBlock(new BlockFeature(SpecialFeature.Last), true); makers.Height = tip.Result.AdditionalInformation.Height; var last = (DateTimeOffset.UtcNow - tip.Result.AdditionalInformation.BlockHeader.BlockTime); makers.Time = last.Hours + " h " + last.Minutes + " min " + last.Seconds + " sec ago"; WarmCache(balance); foreach (var maker in balance.Result.Operations .Where(o => o.Amount >= Money.Coins(0.0004m)) .Select(o => new { Tx = GetTransaction(o.TransactionId).Result, Op = o }) .Where(o => o.Tx != null && !o.Tx.IsCoinbase) .OrderByDescending(o => ExtractWords(o.Tx.Transaction) == null ? 0 : 1) .ThenByDescending(o => o.Op.Amount.Satoshi) .ThenByDescending(o => o.Op.Confirmations) ) { var m = new Maker(); m.TransactionId = maker.Tx.TransactionId; m.TransactionUri = new Uri("https://api.qbit.ninja/transactions/" + m.TransactionId); m.Address = maker.Tx.Transaction.Inputs[0].GetSigner().ScriptPubKey.GetDestinationAddress(Network.Main); m.AddressUri = new Uri("https://api.qbit.ninja/balances/" + m.Address); m.Amount = maker.Op.Amount; m.KindWords = ExtractWords(maker.Tx.Transaction); if (m.KindWords == null) { m.KindWords = "(lazy)"; } m.Position = makers.Makers.Count + 1; makers.Makers.Add(m); } return(makers); }