1
0
mirror of https://github.com/JKorf/CryptoExchange.Net synced 2025-06-09 08:56:13 +00:00
2021-12-28 14:14:15 +01:00

56 lines
1.9 KiB
Plaintext

@page "/ExchangeClient"
@inject IBinanceClient binanceClient
@inject IBitfinexClient bitfinexClient
@inject IBittrexClient bittrexClient
@inject IBybitClient bybitClient
@inject ICoinExClient coinexClient
@inject IFTXClient ftxClient
@inject IHuobiClient huobiClient
@inject IKrakenClient krakenClient
@inject IKucoinClient kucoinClient
@using Binance.Net.Clients.SpotApi
@using Bitfinex.Net.Clients.SpotApi
@using Bittrex.Net.Clients.SpotApi
@using Bybit.Net.Clients.SpotApi
@using CoinEx.Net.Clients.SpotApi
@using CryptoExchange.Net.ExchangeInterfaces
@using FTX.Net.Clients.TradeApi
@using Huobi.Net.Clients.SpotApi
@using Kraken.Net.Clients.SpotApi
@using Kucoin.Net.Clients.SpotApi
<h3>ETH-BTC prices:</h3>
@foreach(var price in _prices)
{
<div>@price.Key: @price.Value</div>
}
@code{
private Dictionary<string, decimal> _prices = new Dictionary<string, decimal>();
protected override async Task OnInitializedAsync()
{
var clients = new IExchangeClient[]
{
binanceClient.SpotApi.AsExchangeClient(),
bitfinexClient.SpotApi.AsExchangeClient(),
bittrexClient.SpotApi.AsExchangeClient(),
bybitClient.SpotApi.AsExchangeClient(),
coinexClient.SpotApi.AsExchangeClient(),
ftxClient.TradeApi.AsExchangeClient(),
huobiClient.SpotApi.AsExchangeClient(),
krakenClient.SpotApi.AsExchangeClient(),
kucoinClient.SpotApi.AsExchangeClient()
};
var tasks = clients.Select(c => (c.ExchangeName, c.GetTickerAsync(c.GetSymbolName("ETH", "BTC"))));
await Task.WhenAll(tasks.Select(t => t.Item2));
foreach(var task in tasks)
{
if(task.Item2.Result.Success)
// TODO new version
_prices.Add(task.Item1, task.Item2.Result.Data.CommonHighPrice);
}
}
}