Example #1
0
        protected internal void OnStart()
        {
            string chainPath    = Settings.Default.Paths.Chain;
            string relativePath = Settings.Default.Paths.RelativePath;
            string path         = relativePath.Length > 0 ? relativePath + chainPath : Path.GetFullPath(chainPath);

            store  = new LevelDBStore(path);
            system = new ZoroChainSystem(store, Settings.Default.Paths.RelativePath);

            system.StartNode(UInt160.Zero, Settings.Default.P2P.Port, Settings.Default.P2P.WsPort);

            if (Settings.Default.RPC.IsActive)
            {
                system.StartRpc(IPAddress.Any,
                                Settings.Default.RPC.Port,
                                wallet: Program.Wallet,
                                sslCert: Settings.Default.RPC.SslCert,
                                password: Settings.Default.RPC.SslCertPassword);
            }
        }
Example #2
0
        protected internal override void OnStart(string[] args)
        {
            bool useRPC     = false;
            bool disableLog = false;

            for (int i = 0; i < args.Length; i++)
            {
                switch (args[i])
                {
                case "/rpc":
                case "--rpc":
                case "-r":
                    useRPC = true;
                    break;

                case "/disableLog":
                case "--disableLog":
                case "-logoff":
                    disableLog = true;
                    break;
                }
            }

            if (disableLog)
            {
                PluginManager.EnableLog(false);
            }

            string chainPath    = Settings.Default.Paths.Chain;
            string relativePath = Settings.Default.Paths.RelativePath;
            string path         = relativePath.Length > 0 ? relativePath + chainPath : Path.GetFullPath(chainPath);

            store  = new LevelDBStore(path);
            system = new ZoroChainSystem(store, Settings.Default.Paths.RelativePath);

            if (Settings.Default.UnlockWallet.IsActive)
            {
                try
                {
                    //Task.Factory.StartNew(() => HttpServer.HttpServerStart(Settings.Default.UnlockWallet.HttpAddress));
                    //Settings.Default.UnlockWallet.Password = ReadPassword("Wallet password");
                    //Console.WriteLine($"http server start \"{Settings.Default.UnlockWallet.HttpAddress}\"");
                    Program.Wallet = OpenWallet(Settings.Default.UnlockWallet.Path, Settings.Default.UnlockWallet.Password);
                }
                catch (CryptographicException)
                {
                    //Console.WriteLine($"failed to start http server \"{Settings.Default.UnlockWallet.HttpAddress}\"");
                    Console.WriteLine($"failed to open file \"{Settings.Default.UnlockWallet.Path}\"");
                }
            }

            system.StartNode(UInt160.Zero, Settings.Default.P2P.Port, Settings.Default.P2P.WsPort);
            if (Settings.Default.UnlockWallet.StartConsensus && Program.Wallet != null)
            {
                OnStartConsensusCommand(null);
            }
            if (useRPC)
            {
                system.StartRpc(IPAddress.Any,
                                Settings.Default.RPC.Port,
                                wallet: Program.Wallet,
                                sslCert: Settings.Default.RPC.SslCert,
                                password: Settings.Default.RPC.SslCertPassword);
            }
        }