public static void AddBlockchain(this IServiceCollection services, Action <BlockchainOptions> setupAction)
        {
            var options = new BlockchainOptions(services);

            setupAction(options);
            options.FillDefaults();
        }
Esempio n. 2
0
        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;
 }
Esempio n. 4
0
 public BlockchainMongoOptions(BlockchainOptions options, string mongoUrl, string databaseName)
 {
     _options      = options;
     _mongoUrl     = mongoUrl;
     _databaseName = databaseName;
 }
Esempio n. 5
0
 public BlockExplorerController(DaemonRpcClient daemonRpcClient, IDbContextFactory <SqliteDatabaseContext> contextFactory, IOptionsMonitor <BlockchainOptions> optionsMonitor)
 {
     _daemonRpcClient   = daemonRpcClient;
     _contextFactory    = contextFactory;
     _blockchainOptions = optionsMonitor.CurrentValue;
 }