public async Task ExecuteAsync(CancellationToken cancellationToken) { Logger.InitializeDefaults(Path.Combine(Global.DataDir, "Logs.txt")); Logger.LogSoftwareStarted("Wasabi Backend"); AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException; var configFilePath = Path.Combine(Global.DataDir, "Config.json"); var config = new Config(configFilePath); config.LoadOrCreateDefaultFile(); Logger.LogInfo("Config is successfully initialized."); var roundConfigFilePath = Path.Combine(Global.DataDir, "CcjRoundConfig.json"); var roundConfig = new CoordinatorRoundConfig(roundConfigFilePath); roundConfig.LoadOrCreateDefaultFile(); Logger.LogInfo("RoundConfig is successfully initialized."); string host = config.GetBitcoinCoreRpcEndPoint().ToString(config.Network.RPCPort); var rpc = new RPCClient( authenticationString: config.BitcoinRpcConnectionString, hostOrUri: host, network: config.Network); var cachedRpc = new CachedRpcClient(rpc, Cache); await Global.InitializeAsync(config, roundConfig, cachedRpc, cancellationToken); try { await WebsiteTorifier.CloneAndUpdateOnionIndexHtmlAsync(); } catch (Exception ex) { Logger.LogWarning(ex); } }
public InitConfigStartupTask(Global global, IMemoryCache cache, IWebHostEnvironment hostingEnvironment) { Global = global; Cache = cache; WebsiteTorifier = new WebsiteTorifier(hostingEnvironment.WebRootPath); }