private async Task <bool> ResolveConflicts() { List <Block> newChain = null; var maxLength = _chain.Count; foreach (var node in _nodes) { var url = new Uri(node.Address, "/node/confirmed"); var request = new HttpRequestMessage(HttpMethod.Get, url); var response = await _requestClient.MakeRequest(request); if (response.StatusCode == HttpStatusCode.OK) { var model = new { fullChain = new List <Block>(), length = 0 }; var json = await response.Content.ReadAsStringAsync(); var data = JsonConvert.DeserializeAnonymousType(json, model); if (data.fullChain.Count > maxLength && Utility.IsValidChain(data.fullChain)) { maxLength = data.fullChain.Count; newChain = data.fullChain; } } } if (newChain != null) { _chain = newChain; return(true); } return(false); }