public RlpxPeer(IMessageSerializationService serializationService, PublicKey localNodeId, int localPort, IHandshakeService handshakeService, ISessionMonitor sessionMonitor, IDisconnectsAnalyzer disconnectsAnalyzer, ILogManager logManager) { // .NET Core definitely got the easy logging setup right :D // ResourceLeakDetector.Level = ResourceLeakDetector.DetectionLevel.Paranoid; // ConfigureNamedOptions<ConsoleLoggerOptions> configureNamedOptions = new("", null); // OptionsFactory<ConsoleLoggerOptions> optionsFactory = new( // new []{ configureNamedOptions }, // Enumerable.Empty<IPostConfigureOptions<ConsoleLoggerOptions>>()); // OptionsMonitor<ConsoleLoggerOptions> optionsMonitor = new( // optionsFactory, // Enumerable.Empty<IOptionsChangeTokenSource<ConsoleLoggerOptions>>(), // new OptionsCache<ConsoleLoggerOptions>()); // LoggerFactory loggerFactory = new( // new[] { new ConsoleLoggerProvider(optionsMonitor) }, // new LoggerFilterOptions { MinLevel = Microsoft.Extensions.Logging.LogLevel.Warning }); // InternalLoggerFactory.DefaultFactory = loggerFactory; _group = new SingleThreadEventLoop(); _serializationService = serializationService ?? throw new ArgumentNullException(nameof(serializationService)); _logManager = logManager ?? throw new ArgumentNullException(nameof(logManager)); _logger = logManager.GetClassLogger(); _sessionMonitor = sessionMonitor ?? throw new ArgumentNullException(nameof(sessionMonitor)); _disconnectsAnalyzer = disconnectsAnalyzer ?? throw new ArgumentNullException(nameof(disconnectsAnalyzer)); _handshakeService = handshakeService ?? throw new ArgumentNullException(nameof(handshakeService)); LocalNodeId = localNodeId ?? throw new ArgumentNullException(nameof(localNodeId)); LocalPort = localPort; }
private async Task InitPeer() { /* rlpx */ var eciesCipher = new EciesCipher(_cryptoRandom); var eip8Pad = new Eip8MessagePad(_cryptoRandom); _messageSerializationService.Register(new AuthEip8MessageSerializer(eip8Pad)); _messageSerializationService.Register(new AckEip8MessageSerializer(eip8Pad)); _messageSerializationService.Register(Assembly.GetAssembly(typeof(HelloMessageSerializer))); var encryptionHandshakeServiceA = new EncryptionHandshakeService(_messageSerializationService, eciesCipher, _cryptoRandom, new Ecdsa(), _nodeKey, _logManager); var networkConfig = _configProvider.GetConfig <INetworkConfig>(); _sessionMonitor = new SessionMonitor(networkConfig, _logManager); _rlpxPeer = new RlpxPeer( _nodeKey.PublicKey, _initConfig.P2PPort, encryptionHandshakeServiceA, _logManager, _sessionMonitor); await _rlpxPeer.Init(); var peerStorage = new NetworkStorage(PeersDbPath, networkConfig, _logManager, _perfService); ProtocolValidator protocolValidator = new ProtocolValidator(_nodeStatsManager, _blockTree, _logManager); _protocolsManager = new ProtocolsManager(_syncPeerPool, _syncServer, _txPool, _discoveryApp, _messageSerializationService, _rlpxPeer, _nodeStatsManager, protocolValidator, peerStorage, _perfService, _logManager); PeerLoader peerLoader = new PeerLoader(networkConfig, _nodeStatsManager, peerStorage, _logManager); _peerManager = new PeerManager(_rlpxPeer, _discoveryApp, _nodeStatsManager, peerStorage, peerLoader, networkConfig, _logManager); _peerManager.Init(); }
private async Task InitPeer() { /* rlpx */ var eciesCipher = new EciesCipher(_cryptoRandom); var eip8Pad = new Eip8MessagePad(_cryptoRandom); _messageSerializationService.Register(new AuthEip8MessageSerializer(eip8Pad)); _messageSerializationService.Register(new AckEip8MessageSerializer(eip8Pad)); var encryptionHandshakeServiceA = new EncryptionHandshakeService(_messageSerializationService, eciesCipher, _cryptoRandom, new Ecdsa(), _nodeKey, _logManager); /* p2p */ _messageSerializationService.Register(new HelloMessageSerializer()); _messageSerializationService.Register(new DisconnectMessageSerializer()); _messageSerializationService.Register(new PingMessageSerializer()); _messageSerializationService.Register(new PongMessageSerializer()); /* eth62 */ _messageSerializationService.Register(new StatusMessageSerializer()); _messageSerializationService.Register(new TransactionsMessageSerializer()); _messageSerializationService.Register(new GetBlockHeadersMessageSerializer()); _messageSerializationService.Register(new NewBlockHashesMessageSerializer()); _messageSerializationService.Register(new GetBlockBodiesMessageSerializer()); _messageSerializationService.Register(new BlockHeadersMessageSerializer()); _messageSerializationService.Register(new BlockBodiesMessageSerializer()); _messageSerializationService.Register(new NewBlockMessageSerializer()); /* eth63 */ _messageSerializationService.Register(new GetNodeDataMessageSerializer()); _messageSerializationService.Register(new NodeDataMessageSerializer()); _messageSerializationService.Register(new GetReceiptsMessageSerializer()); _messageSerializationService.Register(new ReceiptsMessageSerializer()); var networkConfig = _configProvider.GetConfig <INetworkConfig>(); _sessionMonitor = new SessionMonitor(networkConfig, _logManager); _rlpxPeer = new RlpxPeer( _nodeKey.PublicKey, _initConfig.P2PPort, encryptionHandshakeServiceA, _logManager, _sessionMonitor); await _rlpxPeer.Init(); var peerStorage = new NetworkStorage(PeersDbPath, networkConfig, _logManager, _perfService); ProtocolValidator protocolValidator = new ProtocolValidator(_nodeStatsManager, _blockTree, _logManager); _protocolsManager = new ProtocolsManager(_syncManager, _transactionPool, _discoveryApp, _messageSerializationService, _rlpxPeer, _nodeStatsManager, protocolValidator, peerStorage, _perfService, _logManager); PeerLoader peerLoader = new PeerLoader(networkConfig, _nodeStatsManager, peerStorage, _logManager); _peerManager = new PeerManager(_rlpxPeer, _discoveryApp, _nodeStatsManager, peerStorage, peerLoader, networkConfig, _logManager); _peerManager.Init(); }
public RlpxPeer( PublicKey localNodeId, int localPort, IEncryptionHandshakeService encryptionHandshakeService, ILogManager logManager, ISessionMonitor sessionMonitor) { _group = new SingleThreadEventLoop(); _logManager = logManager ?? throw new ArgumentNullException(nameof(logManager)); _logger = logManager.GetClassLogger(); _sessionMonitor = sessionMonitor ?? throw new ArgumentNullException(nameof(sessionMonitor)); _encryptionHandshakeService = encryptionHandshakeService ?? throw new ArgumentNullException(nameof(encryptionHandshakeService)); LocalNodeId = localNodeId ?? throw new ArgumentNullException(nameof(localNodeId)); LocalPort = localPort; }
public UserManager( OidcSettings settings, IOidcClient oidcClient, ILogoutClient logoutClient, ISessionMonitor monitor, IUserManagerHelper helper, IOidcLogger <UserManager> logger ) { Settings = settings; OidcClient = oidcClient; LogoutClient = logoutClient; Monitor = monitor; Helper = helper; Logger = logger; Version = GetType().InformationalVersion(); if (Settings.MonitorSession) { Monitor.OnSessionChanged += SessionChanged; } }
public UserManager( IOidcClient oidcClient, ILogoutClient logoutClient, ISessionMonitor monitor, IStore store, IUriHelper uriHelper, Interop interop, OidcHttpClient httpClient, IOidcLogger <UserManager> logger ) { OidcClient = oidcClient; LogoutClient = logoutClient; Monitor = monitor; Store = store; UriHelper = uriHelper; Interop = interop; HttpClient = httpClient; Logger = logger; Version = GetType().InformationalVersion(); Monitor.OnSessionChanged += SessionChanged; }
public RlpxPeer( IMessageSerializationService serializationService, PublicKey localNodeId, int localPort, IHandshakeService handshakeService, ILogManager logManager, ISessionMonitor sessionMonitor) { // InternalLoggerFactory.DefaultFactory.AddProvider(new ConsoleLoggerProvider((s, level) => level > LogLevel.Warning, false)); // ResourceLeakDetector.Level = ResourceLeakDetector.DetectionLevel.Paranoid; _group = new SingleThreadEventLoop(); _serializationService = serializationService ?? throw new ArgumentNullException(nameof(serializationService)); _logManager = logManager ?? throw new ArgumentNullException(nameof(logManager)); _logger = logManager.GetClassLogger(); _sessionMonitor = sessionMonitor ?? throw new ArgumentNullException(nameof(sessionMonitor)); _handshakeService = handshakeService ?? throw new ArgumentNullException(nameof(handshakeService)); LocalNodeId = localNodeId ?? throw new ArgumentNullException(nameof(localNodeId)); LocalPort = localPort; }
private async Task InitPeer() { /* rlpx */ var eciesCipher = new EciesCipher(_cryptoRandom); var eip8Pad = new Eip8MessagePad(_cryptoRandom); _messageSerializationService.Register(new AuthEip8MessageSerializer(eip8Pad)); _messageSerializationService.Register(new AckEip8MessageSerializer(eip8Pad)); _messageSerializationService.Register(Assembly.GetAssembly(typeof(HelloMessageSerializer))); var encryptionHandshakeServiceA = new EncryptionHandshakeService(_messageSerializationService, eciesCipher, _cryptoRandom, new Ecdsa(), _nodeKey, _logManager); _messageSerializationService.Register(Assembly.GetAssembly(typeof(HiMessageSerializer))); var networkConfig = _configProvider.GetConfig <INetworkConfig>(); var discoveryConfig = _configProvider.GetConfig <IDiscoveryConfig>(); _sessionMonitor = new SessionMonitor(networkConfig, _logManager); _rlpxPeer = new RlpxPeer( _nodeKey.PublicKey, _initConfig.P2PPort, encryptionHandshakeServiceA, _logManager, _sessionMonitor); await _rlpxPeer.Init(); _staticNodesManager = new StaticNodesManager(_initConfig.StaticNodesPath, _logManager); await _staticNodesManager.InitAsync(); var peersDb = new SimpleFilePublicKeyDb(Path.Combine(_initConfig.BaseDbPath, PeersDbPath), _logManager); var peerStorage = new NetworkStorage(peersDb, _logManager); ProtocolValidator protocolValidator = new ProtocolValidator(_nodeStatsManager, _blockTree, _logManager); _protocolsManager = new ProtocolsManager(_syncPeerPool, _syncServer, _txPool, _discoveryApp, _messageSerializationService, _rlpxPeer, _nodeStatsManager, protocolValidator, peerStorage, _perfService, _logManager); if (!(_ndmInitializer is null)) { if (_logger.IsInfo) { _logger.Info($"Initializing NDM..."); } var capabilityConnector = await _ndmInitializer.InitAsync(_configProvider, _dbProvider, _initConfig.BaseDbPath, _blockProcessor, _blockTree, _txPool, _txPoolInfoProvider, _specProvider, _receiptStorage, _wallet, _timestamp, _ethereumEcdsa, _rpcModuleProvider, _keyStore, _jsonSerializer, _cryptoRandom, _enode, _ndmConsumerChannelManager, _ndmDataPublisher, _grpcService, _nodeStatsManager, _protocolsManager, protocolValidator, _messageSerializationService, _initConfig.EnableUnsecuredDevWallet, _logManager); capabilityConnector.Init(); if (_logger.IsInfo) { _logger.Info($"NDM initialized."); } } PeerLoader peerLoader = new PeerLoader(networkConfig, discoveryConfig, _nodeStatsManager, peerStorage, _logManager); _peerManager = new PeerManager(_rlpxPeer, _discoveryApp, _nodeStatsManager, peerStorage, peerLoader, networkConfig, _logManager, _staticNodesManager); _peerManager.Init(); }