private async Task <List <NodeInfo> > DiscoverNodesAsync(IPeer peer)
        {
            try
            {
                var nodeList = await peer.GetNodesAsync();

                if (nodeList?.Nodes == null)
                {
                    return(new List <NodeInfo>());
                }

                Logger.LogDebug($"Discover nodes: {nodeList} from peer: {peer}.");
                return(nodeList.Nodes.ToList());
            }
            catch (Exception e)
            {
                Logger.LogWarning(e, "Discover nodes failed.");
                return(new List <NodeInfo>());
            }
        }