public BlockchainFixture() { var @namespace = $"{Guid.NewGuid()}"; var coinSettings = new CoinSettingsFixture(); var blocks = new EmptyBlockchainFixtureWithNamespace(@namespace); var transactions = new EmptyTransactionDatabaseFixture(@namespace); var coinSettingsOptions = new OptionsWrapper <CoinSettings>(coinSettings.Value); var hashProvider = new HashProviderFixture(); var jsonSettings = new JsonSerializerSettingsFixture(); var pow = new CoinBasedProofOfWork(coinSettingsOptions, hashProvider.Value); var factory = new LoggerFactory(); factory.AddConsole(); Value = new Blockchain( coinSettingsOptions, blocks.Value, pow, transactions.Value, hashProvider.Value, jsonSettings.Value, factory.CreateLogger <Blockchain>()); }
public OperatorFixture(BlockchainFixture blockchain) { var coinSettings = new CoinSettingsFixture(); var hashProvider = new HashProviderFixture(); var walletProvider = new WalletProviderFixture(); var factory = new LoggerFactory(); factory.AddConsole(); Value = new Operator(blockchain.Value, hashProvider.Value, walletProvider.Value, new OptionsWrapper <CoinSettings>(coinSettings.Value), factory.CreateLogger <Operator>()); }
public MinerFixture(BlockchainFixture blockchain) { var coinSettings = new CoinSettingsFixture(); var coinSettingsOptions = new OptionsWrapper <CoinSettings>(coinSettings.Value); var hashProvider = new HashProviderFixture(); var pow = new CoinBasedProofOfWork(coinSettingsOptions, hashProvider.Value); var factory = new LoggerFactory(); factory.AddConsole(); Value = new Miner(blockchain.Value, pow, coinSettingsOptions, factory.CreateLogger <Miner>()); }