public async Task PublishAsync(BlockDto block) { if (block == null) { return; } var blockLite = new BlockLiteDto(block); await _redisCommand.PublishAsync(Settings.Redis.NewBlockPubSub, blockLite); if (block.Transactions == null || !block.Transactions.Any()) { return; } foreach (var tx in block.Transactions) { await _redisCommand.PublishAsync(Settings.Redis.NewTransactionPubSub, new TransactionLiteDto(tx, block.Height, 1)); } _logger.LogInformation($"Published block {block.Height}"); }
private async Task SendLatestBlockDataAsync(BlockLiteDto block) { await _homeContext.Clients.All.SendAsync("NewBlockPubSub", Helpers.JsonSerialise(block)); }
private Task OnNewBlockAsync(BlockLiteDto newBlock) { return(_blockContext.Clients.All.SendAsync("NewBlockPubSub", newBlock)); }
private Task UpdateLatestBlockData(BlockLiteDto block) { return(_layoutContext.Clients.All.SendAsync("UpdateLatestBlockData", block)); }