protected void Init(string @namespace)
        {
            var coinSettings = new CoinSettingsFixture().Value;
            var hashProvider = new HashProviderFixture().Value;
            var factory      = new LoggerFactory();

            factory.AddConsole();

            Value = new SqliteCurrencyBlockRepository(
                @namespace,
                "blockchain",
                new OptionsWrapper <CoinSettings>(coinSettings),
                hashProvider,
                factory.CreateLogger <SqliteCurrencyBlockRepository>());

            var block = coinSettings.GenesisBlock;

            foreach (var transaction in block.Transactions)
            {
                transaction.Hash = hashProvider.ComputeHashBytes(transaction);
            }
            block.Hash = block.ToHashBytes(hashProvider);

            Value.AddAsync(block).ConfigureAwait(false).GetAwaiter().GetResult();
        }
 public WhenBlockDatabaseContainsOnlyGenesis(EmptyBlockchainFixture blockDatabase, CoinSettingsFixture coinSettings, HashProviderFixture hashProvider)
 {
     Fixture      = blockDatabase;
     CoinSettings = coinSettings.Value;
     HashProvider = hashProvider.Value;
 }