示例#1
0
        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>());
        }
示例#2
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>());
        }