Exemple #1
0
 public BlockchainService(
     ILogger <BitcoinService> logger,
     IOptions <BitcoinSettings> options,
     HttpClient client)
 {
     _logger            = logger;
     _options           = options.Value;
     _masterKey         = new BitcoinExtKey(_options.MasterKey, Network.Main);
     client.BaseAddress = new Uri("https://blockchain.bitar.is/");
     _client            = client;
 }
 public DataFeederProcessor(ILogger <DataFeederProcessor> logger,
                            IEventBus eventBus,
                            IDateTimeProvider dateTimeProvider,
                            IPeerBehaviorManager peerBehaviorManager,
                            IInitialBlockDownloadTracker ibdState,
                            IChainState chainState,
                            IOptions <BitcoinSettings> options)
     : base(logger, eventBus, peerBehaviorManager, isHandshakeAware: true, receiveMessagesOnlyIfHandshaked: true)
 {
     _dateTimeProvider = dateTimeProvider;
     _ibdState         = ibdState;
     _chainState       = chainState;
     _settings         = options.Value;
 }
Exemple #3
0
        public BitcoinService(
            ILogger <BitcoinService> logger,
            IOptions <BitcoinSettings> options,
            IServiceScopeFactory scopeFactory)
        {
            _logger       = logger;
            _options      = options.Value;
            _scopeFactory = scopeFactory;
            _masterKey    = new BitcoinExtKey(_options.MasterKey, Network.Main);

            var credentialString = new RPCCredentialString
            {
                Server       = _options.Server,
                UserPassword = new NetworkCredential
                {
                    UserName = _options.Username,
                    Password = _options.Password
                }
            };

            _client = new RPCClient(credentialString, Network.Main);
        }
Exemple #4
0
        public SynchronizationProcessor(ILogger <SynchronizationProcessor> logger,
                                        IEventBus eventBus,
                                        IDateTimeProvider dateTimeProvider,
                                        IPeerBehaviorManager peerBehaviorManager,
                                        IConsensusParameters consensusParameters,
                                        IInitialBlockDownloadTracker ibdState,
                                        IBlockHeaderHashCalculator blockHeaderHashCalculator,
                                        ITransactionHashCalculator transactionHashCalculator,
                                        IBlockFetcherManager blockFetcherManager,
                                        ILocalServiceProvider localServiceProvider,
                                        IChainState chainState,
                                        IHeaderValidator headerValidator,
                                        IBlockValidator blockValidator,
                                        IPeriodicWork headerSyncLoop,
                                        IOptions <BitcoinSettings> options)
            : base(logger, eventBus, peerBehaviorManager, isHandshakeAware: true, receiveMessagesOnlyIfHandshaked: true)
        {
            _dateTimeProvider          = dateTimeProvider;
            _consensusParameters       = consensusParameters;
            _ibdState                  = ibdState;
            _blockHeaderHashCalculator = blockHeaderHashCalculator;
            _transactionHashCalculator = transactionHashCalculator;
            _blockFetcherManager       = blockFetcherManager;
            _localServiceProvider      = localServiceProvider;
            _chainState                = chainState;
            _headerValidator           = headerValidator;
            _blockValidator            = blockValidator;
            _headerSyncLoop            = headerSyncLoop;
            _options = options.Value;


            _minimumChainWork = _options.MinimumChainWork ?? _consensusParameters.MinimumChainWork;
            if (_minimumChainWork < _consensusParameters.MinimumChainWork)
            {
                this.logger.LogWarning($"{nameof(_minimumChainWork)} set below default value of {_consensusParameters.MinimumChainWork}");
            }

            headerSyncLoop.Configure(stopOnException: false, this);
        }
 public BitcoinBalanceProvider(BitcoinSettings settings)
 {
     _client = new NinjaClient(settings.NinjaUrl);
 }
Exemple #6
0
 public BitcoinWalletService(BitcoinSettings settings)
 {
     this.settings = settings;
 }