internal DaemonProcessManager(IRpcSettings rpcSettings, IDaemonProcessSettings processSettings) : base(processSettings.SoftwareDaemon, rpcSettings.UrlHostDaemon, rpcSettings.UrlPortDaemon)
        {
            ProcessArguments = new List <string> {
                "--log-level " + (int)processSettings.LogLevel
            };

            string testnetString;

            if (processSettings.UseTestnet)
            {
                testnetString = "testnet-";
                ProcessArguments.Add("--testnet");
            }
            else
            {
                testnetString = "";
            }

            if (rpcSettings.UrlHostDaemon != MoneroAPI.Utilities.DefaultRpcUrlHost)
            {
                ProcessArguments.Add("--rpc-bind-ip " + rpcSettings.UrlHostDaemon);
            }

            ProcessArguments.Add("--" + testnetString + "rpc-bind-port " + rpcSettings.UrlPortDaemon);
            ProcessArguments.Add("--" + testnetString + "data-dir \"" + processSettings.DirectoryDaemonData + "\"");
        }
Exemplo n.º 2
0
        /// <summary>Creates a new instance of Monero API .NET's process manager service.</summary>
        /// <param name="rpcSettings">IP-related settings to use when communicating through the Monero core assemblies' RPC protocol.</param>
        /// <param name="accountManagerProcessSettings">Path settings for the account manager process.</param>
        /// <param name="daemonProcessSettings">Path settings for the daemon process.</param>
        public MoneroProcessManager(IRpcSettings rpcSettings, IAccountManagerProcessSettings accountManagerProcessSettings, IDaemonProcessSettings daemonProcessSettings)
        {
            if (rpcSettings == null)
            {
                rpcSettings = new RpcSettings();
            }
            if (daemonProcessSettings == null)
            {
                daemonProcessSettings = new DaemonProcessSettings();
            }
            if (accountManagerProcessSettings == null)
            {
                accountManagerProcessSettings = new AccountManagerProcessSettings();
            }

            RpcSettings                   = rpcSettings;
            DaemonProcessSettings         = daemonProcessSettings;
            AccountManagerProcessSettings = accountManagerProcessSettings;

            Daemon         = new DaemonProcessManager(rpcSettings, daemonProcessSettings);
            AccountManager = new AccountProcessManager(rpcSettings, accountManagerProcessSettings, Daemon);
        }