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; }
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); }
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); }
public BitcoinWalletService(BitcoinSettings settings) { this.settings = settings; }