public async Task <bool?> Register() { var logger = Utility.CreateLogger(nameof(KamajiClient), nameof(Register)); try { NodeRegisterModel model = new NodeRegisterModel(); model.Address = DataSources.Jsons.AppSettings.Config.Address; IResourceMonitor resourceMonitor = SystemInfo.CreateResourceMonitor(); model.ThreadCount = SystemInfo.ProcessorCount; model.TotalMemory = resourceMonitor.GetTotalMemory().ConvertTo <int>(); model.ComputerName = SystemInfo.ComputerName(); model.IpAddress = SystemInfo.GetIpv4Address()?.ToString(); string[] arr = model.Address.Split(':'); if (arr.Length > 1 && int.TryParse(arr[arr.Length - 1], out int port)) { model.Port = port; } bool success = await RestClient.Instance.PostAsync <bool>($"{KamajiNodeActions.Register}", model); await logger.Code(1).Info("A token has been taken and conected to Kamaji").SaveAsync(); return(success); } catch (Exception ex) { await logger.Code(1).Error(ex).SaveAsync(); return(null); } }