public BlockVerifier(INetworkParameters parameters, ISignatureService signatureService, IEnumerable <ITransactionRule> txnRules, IEnumerable <IBlockRule> blockRules, IEnumerable <ValidInstructionType> validTxnTypes, IMerkleTreeBuilder merkleTreeBuilder, ITransactionKeyResolver transactionKeyResolver, IConsensusMethod consensusMethod, IHasher hasher, IInstructionRepository instructionRepository) { _parameters = parameters; _signatureService = signatureService; _txnRules = txnRules; _blockRules = blockRules; _merkleTreeBuilder = merkleTreeBuilder; _transactionKeyResolver = transactionKeyResolver; _consensusMethod = consensusMethod; _hasher = hasher; _instructionRepository = instructionRepository; }
public BlockMiner(ITransactionKeyResolver transactionKeyResolver, IMerkleTreeBuilder merkleTreeBuilder, INetworkParameters networkParameters, IBlockbaseTransactionBuilder blockbaseBuilder, IPeerNetwork peerNetwork, IConsensusMethod consensusMethod, IUnconfirmedTransactionPool unconfirmedTransactionPool, IBlockRepository blockRepository, IReceiver blockReciever, IDifficultyCalculator difficultyCalculator, ILoggerFactory loggerFactory) { _networkParameters = networkParameters; _peerNetwork = peerNetwork; _blockbaseBuilder = blockbaseBuilder; _blockReciever = blockReciever; _consensusMethod = consensusMethod; _difficultyCalculator = difficultyCalculator; _transactionKeyResolver = transactionKeyResolver; _merkleTreeBuilder = merkleTreeBuilder; _logger = loggerFactory.CreateLogger <BlockMiner>(); _blockRepository = blockRepository; _unconfirmedTransactionPool = unconfirmedTransactionPool; _unconfirmedTransactionPool.Changed += UnconfirmedTransactionPoolChanged; }
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(); }
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); }
public ProofOfWorkConsensus(IHasher hasher, INetworkParameters networkParameters, IHashTester hashTester) { _hasher = hasher; _networkParameters = networkParameters; _hashTester = hashTester; }
public void UseParameters(INetworkParameters parameters) { Services.AddSingleton <INetworkParameters>(parameters); }
public ExpectedBlockList(INetworkParameters parameters) { _parameters = parameters; _timer = new Timer(ExpireUnconfirmed, null, _parameters.BlockTime, _parameters.BlockTime); }
public DifficultyCalculator(IBlockRepository blockRepository, INetworkParameters parameters) { _blockRepository = blockRepository; _parameters = parameters; }