public static void AddBlockchain(this IServiceCollection services, Action <BlockchainOptions> setupAction) { var options = new BlockchainOptions(services); setupAction(options); options.FillDefaults(); }
public static BlockchainMongoOptions UseMongoDB(this BlockchainOptions options, string mongoUrl, string databaseName) { options.Services.AddTransient <IMongoDatabase>(sp => { var client = new MongoClient(mongoUrl); return(client.GetDatabase(databaseName)); }); options.UseBlockRepository <MongoBlockRepository>(); options.Services.AddTransient <IInstructionRepository, MongoInstructionRepository>(); options.AddPeerDiscovery <MongoPeerDirectory>(); return(new BlockchainMongoOptions(options, mongoUrl, databaseName)); }
public ExchangeModule(IOptionsMonitor <BlockchainOptions> optionsMonitor, IHostApplicationLifetime hostApplicationLifetime, Logger logger, IDbContextFactory <SqliteDatabaseContext> contextFactory) : base(hostApplicationLifetime, logger, contextFactory) { _blockchainOptions = optionsMonitor.CurrentValue; }
public BlockchainMongoOptions(BlockchainOptions options, string mongoUrl, string databaseName) { _options = options; _mongoUrl = mongoUrl; _databaseName = databaseName; }
public BlockExplorerController(DaemonRpcClient daemonRpcClient, IDbContextFactory <SqliteDatabaseContext> contextFactory, IOptionsMonitor <BlockchainOptions> optionsMonitor) { _daemonRpcClient = daemonRpcClient; _contextFactory = contextFactory; _blockchainOptions = optionsMonitor.CurrentValue; }