Пример #1
0
        public BlockchainNodeTests()
        {
            _receiver   = A.Fake <IReceiver>();
            _parameters = new StaticNetworkParameters()
            {
                BlockTime = TimeSpan.FromSeconds(1)
            };
            _loggerFactory              = A.Fake <ILoggerFactory>();
            _blockRepository            = A.Fake <IBlockRepository>();
            _blockVerifier              = A.Fake <IBlockVerifier>();
            _forkRebaser                = A.Fake <IForkRebaser>();
            _peerNetwork                = A.Fake <IPeerNetwork>();
            _unconfirmedTransactionPool = A.Fake <IUnconfirmedTransactionPool>();
            _difficultyCalculator       = A.Fake <IDifficultyCalculator>();

            _subject = new BlockchainNode(_blockRepository, _blockVerifier, _receiver, _loggerFactory, _forkRebaser, _parameters, _unconfirmedTransactionPool, _peerNetwork, _difficultyCalculator);
            _subject.PollTimer.Dispose();
        }
Пример #2
0
        public BlockchainNode(IBlockRepository blockRepository, IBlockVerifier blockVerifier, IReceiver receiver, ILoggerFactory loggerFactory, IForkRebaser forkRebaser, INetworkParameters parameters, IUnconfirmedTransactionPool unconfirmedTransactionPool, IPeerNetwork peerNetwork, IDifficultyCalculator difficultyCalculator)
        {
            _blockRepository            = blockRepository;
            _blockVerifier              = blockVerifier;
            _receiver                   = receiver;
            _parameters                 = parameters;
            _forkRebaser                = forkRebaser;
            _unconfirmedTransactionPool = unconfirmedTransactionPool;
            _peerNetwork                = peerNetwork;
            _difficultyCalculator       = difficultyCalculator;
            //_expectedBlockList = expectedBlockList;
            _logger = loggerFactory.CreateLogger <BlockchainNode>();

            _receiver.OnReceiveBlock       += RecieveBlock;
            _receiver.OnRecieveTransaction += RecieveTransaction;

            PollTimer = new Timer(GetMissingBlocks, null, TimeSpan.FromSeconds(5), _parameters.BlockTime);
        }