示例#1
0
        public void LoadArgs(IConfiguration conf)
        {
            var networkInfo = DefaultConfiguration.GetNetwork(conf);

            Network = networkInfo?.Network;
            if (Network == null)
            {
                throw new ConfigException("Invalid network");
            }

            DataDir = conf.GetOrDefault <string>("datadir", networkInfo.DefaultDataDirectory);
            Logs.Configuration.LogInformation("Network: " + Network);

            Explorer                 = conf.GetOrDefault <Uri>("explorer.url", networkInfo.DefaultExplorerUrl);
            CookieFile               = conf.GetOrDefault <string>("explorer.cookiefile", networkInfo.DefaultExplorerCookieFile);
            RequireHttps             = conf.GetOrDefault <bool>("requirehttps", false);
            PostgresConnectionString = conf.GetOrDefault <string>("postgres", null);
        }
        public void LoadArgs(IConfiguration conf)
        {
            var networkInfo = DefaultConfiguration.GetNetwork(conf);

            Network = networkInfo?.Network;
            if (Network == null)
            {
                throw new ConfigException("Invalid network");
            }

            DataDir = conf.GetOrDefault <string>("datadir", networkInfo.DefaultDataDirectory);
            Logs.Configuration.LogInformation("Network: " + Network);



            foreach (var net in new BTCPayNetworkProvider(Network).GetAll())
            {
                var nbxplorer  = NBXplorer.Configuration.NetworkInformation.GetNetworkByName(net.NBitcoinNetwork.Name);
                var explorer   = conf.GetOrDefault <Uri>($"{net.CryptoCode}.explorer.url", null);
                var cookieFile = conf.GetOrDefault <string>($"{net.CryptoCode}.explorer.cookiefile", nbxplorer.GetDefaultCookieFile());
                if (explorer != null)
                {
                    ExplorerFactories.Add(net.CryptoCode, (n) => CreateExplorerClient(n, explorer, cookieFile));
                }
            }

            // Handle legacy explorer.url and explorer.cookiefile
            if (ExplorerFactories.Count == 0)
            {
                var nbxplorer  = NBXplorer.Configuration.NetworkInformation.GetNetworkByName(Network.Name); // Will get BTC info
                var explorer   = conf.GetOrDefault <Uri>($"explorer.url", new Uri(nbxplorer.GetDefaultExplorerUrl(), UriKind.Absolute));
                var cookieFile = conf.GetOrDefault <string>($"explorer.cookiefile", nbxplorer.GetDefaultCookieFile());
                ExplorerFactories.Add("BTC", (n) => CreateExplorerClient(n, explorer, cookieFile));
            }
            //////

            PostgresConnectionString = conf.GetOrDefault <string>("postgres", null);
            ExternalUrl = conf.GetOrDefault <Uri>("externalurl", null);
        }