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>());
        }
Beispiel #2
0
        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>());
        }
Beispiel #3
0
        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>());
        }