Пример #1
0
        public static int Main(string[] args)
        {
            var logger = new LoggerConfiguration().WriteTo.Console().CreateLogger();

            var userOutput = new ConsoleUserOutput();

            userOutput.WriteLine("Catalyst Network Simulator");

            var passwordRegistry = new PasswordRegistry();

            Parser.Default.ParseArguments <Options>(args).WithParsed(options => passwordRegistry.SetFromOptions(options));

            var fileSystem            = new FileSystem();
            var userInput             = new ConsoleUserInput();
            var consolePasswordReader = new ConsolePasswordReader(userOutput, userInput);
            var certificateStore      = new CertificateStore(fileSystem, new PasswordManager(consolePasswordReader, passwordRegistry));
            var certificate           = certificateStore.ReadOrCreateCertificateFile("mycert.pfx");
            var signingContext        = new SigningContext {
                NetworkType = NetworkType.Devnet, SignatureType = SignatureType.ProtocolPeer
            };

            var clientRpcInfoList =
                ConfigHelper.GenerateClientRpcInfoFromConfig(userOutput, passwordRegistry, certificate, logger, signingContext
                                                             ).ToList();

            var simulation = new TransactionSimulation(userOutput);
            var simulator  = new Simulator(simulation, logger);

            simulator.SimulateAsync(clientRpcInfoList).Wait();

            return(Environment.ExitCode);
        }
Пример #2
0
        static void Main(string[] args)
        {
            var password = ConsolePasswordReader.Read();

            Console.Write(password);
            Console.WriteLine();
        }
Пример #3
0
        public void Init()
        {
            _userInput  = Substitute.For <IUserInput>();
            _userOutput = Substitute.For <IUserOutput>();

            _consolePasswordReader = new ConsolePasswordReader(_userOutput, _userInput);
        }
Пример #4
0
        public SimpleRpcClient(IUserOutput userOutput,
                               IPasswordRegistry passwordRegistry,
                               X509Certificate2 certificate,
                               ILogger logger,
                               SigningContext signingContextProvider)
        {
            _logger      = logger;
            _certificate = certificate;

            var fileSystem = new FileSystem();

            var consolePasswordReader = new ConsolePasswordReader(userOutput, new ConsoleUserInput());
            var passwordManager       = new PasswordManager(consolePasswordReader, passwordRegistry);

            var cryptoContext = new FfiWrapper();

            var hashProvider = new HashProvider(HashingAlgorithm.GetAlgorithmMetadata("keccak-256"));

            var peerSettings = Substitute.For <IPeerSettings>();

            peerSettings.NetworkType.Returns(signingContextProvider.NetworkType);

            var localKeyStore = new LocalKeyStore(passwordManager, cryptoContext, fileSystem, hashProvider, _logger);

            var keyRegistry = new KeyRegistry();
            var keySigner   = new KeySigner(localKeyStore, cryptoContext, keyRegistry);

            var memoryCacheOptions        = new MemoryCacheOptions();
            var memoryCache               = new MemoryCache(memoryCacheOptions);
            var changeTokenProvider       = new TtlChangeTokenProvider(10000);
            var messageCorrelationManager = new RpcMessageCorrelationManager(memoryCache, _logger, changeTokenProvider);
            var peerIdValidator           = new PeerIdValidator(cryptoContext);

            var nodeRpcClientChannelFactory =
                new RpcClientChannelFactory(keySigner, messageCorrelationManager, peerIdValidator, peerSettings);

            var eventLoopGroupFactoryConfiguration = new EventLoopGroupFactoryConfiguration
            {
                TcpClientHandlerWorkerThreads = 4
            };

            var tcpClientEventLoopGroupFactory = new TcpClientEventLoopGroupFactory(eventLoopGroupFactoryConfiguration);

            var handlers = new List <IRpcResponseObserver>
            {
                new BroadcastRawTransactionResponseObserver(_logger),
                new GetVersionResponseObserver(_logger)
            };

            _rpcClientFactory =
                new RpcClientFactory(nodeRpcClientChannelFactory, tcpClientEventLoopGroupFactory, handlers);

            //PeerId for RPC/TCP is currently redundant.
            var publicKey = keyRegistry.GetItemFromRegistry(KeyRegistryTypes.DefaultKey).GetPublicKey().Bytes;

            _senderPeerId = publicKey.BuildPeerIdFromPublicKey(IPAddress.Any, 1026);
        }
Пример #5
0
        public void ConsoleTest(char[] characters, string expectedOutput, string expectedPassword)
        {
            // Arrange
            var console = new FakeConsole(characters);

            Console.FakeConsole = console;

            // Act
            var password = ConsolePasswordReader.Read();

            // Assert
            Assert.Equal(expectedPassword, password);
            Assert.Equal($"Password: {expectedOutput}\n", console.Output);
        }
Пример #6
0
        public override int Handle(ConfigureOptions command)
        {
            var validate = command.Validate();
            if (validate.Any())
            {
                foreach (var error in validate)
                {
                    Console.WriteLine("    " + error);
                }
                return 1;
            }

            var personalCard = TryBuildPersonalCard(command);
            if (personalCard == null) return 1;

            string password = null;
            if (personalCard.IsPrivateKeyEncrypted)
            {
                Console.WriteLine("    The private key file specified is encrypted. Please provide password:"******"    Wrong password");
                    return 1;
                }
            }

            var dropboxCredentials = ParseDropboxUri();
            if (dropboxCredentials == null)
            {
                return 1;
            }

            var @params = new StartSyncParams(
                personalCard,
                password,
                dropboxCredentials,
                command.SourceDirectory);

            this.Bootstrap(@params);

            return 0;
        }
Пример #7
0
        static void Main(string[] args)
        {
            var list = new List <Produkt>();

            //var s = System.IO.File.ReadAllText("..\\..\\produkt.txt");
            //list = JsonConvert.DeserializeObject<List<Produkt>>(s);

            list.Add(new Produkt {
                Namn         = "banan", Price = 122.2m, ProduktId = "321",
                Leverantorer = new List <Leverantor> {
                    new Leverantor {
                        Adress = "231312", Namn = "Lev1"
                    },
                    new Leverantor {
                        Adress = "231323423412", Namn = "Lev2"
                    }
                }
            });
            list.Add(new Produkt {
                Namn = "äpple", Price = 22.2m, ProduktId = "333"
            });
            list.Add(new Produkt {
                Namn = "saft", Price = 12.3m, ProduktId = "123"
            });


            string toSave = JsonConvert.SerializeObject(list);

            System.IO.File.WriteAllText("..\\..\\produkt.txt", toSave);

            log.Debug("Nu startar programmet");

            while (true)
            {
                Console.WriteLine("mata in lösenord för att får köra spelet");
                var password = ConsolePasswordReader.Read();
                if (password == "hemligt")
                {
                    break;
                }
            }
            log.Debug("Nu har lösenordet skrivits in");

            var ui = new ConsoleUI();

            ui.ShowWelcomeScreen();

            try
            {
                int min = ui.GetIntBetween(1, 10, "Ange minsta värde i spelet");
                int max = ui.GetIntBetween(100, 1000, "Ange högsta värde i spelet");
            }
            catch (Exception ex)
            {
                log.Error(ex);
            }

            //var settings = new Game.Settings(min,max);
            //settings.Save(@"..\..\settings.txt");

            //var gameEngine = new Game.GameEngine(settings,ui);

            //gameEngine.Run();
        }