public Blockchain(IBlockCreator blockCreator, IHashCalculator blockHashCalculator, IProofValidator proofValidator, IBlockchainValidator blockchainValidator) { this.blockCreator = blockCreator; this.blockHashCalculator = blockHashCalculator; this.proofValidator = proofValidator; this.blockchainValidator = blockchainValidator; if (chain.Count == 0) { Block firstBlock = blockCreator.CreateBlock(0, new List <Transaction>(), 0, null); chain.Add(firstBlock); } }
public WalletManager(INetworkAdapter networkAdapter, IBlockCreator blockCreator, IDataAccessService dataAccessService, IHashCalculationsRepository hashCalculationsRepository, IIdentityKeyProvidersRegistry identityKeyProvidersRegistry, IStatesRepository statesRepository, ISerializersFactory signatureSupportSerializersFactory, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository) { _networkAdapter = networkAdapter; _blockCreator = blockCreator; _dataAccessService = dataAccessService; _signatureSupportSerializersFactory = signatureSupportSerializersFactory; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _heightsDictionary = new Dictionary <byte[], ulong>(); _hashCalculation = hashCalculationsRepository.Create(Globals.DEFAULT_HASH); _proofOfWorkCalculation = hashCalculationsRepository.Create(Globals.POW_TYPE); _identityKeyProvider = identityKeyProvidersRegistry.GetInstance(); _clientState = statesRepository.GetInstance <IClientState>(); }
public NetworkSynchronizer(IBlockCreator blockCreator, IClientCommunicationServiceRepository clientCommunicationServiceRepository, ICryptoService cryptoService, IDataAccessService dataAccessService, IHashCalculationsRepository hashCalculationsRepository, IConfigurationService configurationService, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository, IIdentityKeyProvidersRegistry identityKeyProvidersRegistry, INodesResolutionService nodesResolutionService, IStatesRepository statesRepository, ILoggerService loggerService) { _cryptoService = cryptoService; _dataAccessService = dataAccessService; _blockCreator = blockCreator; _communicationService = clientCommunicationServiceRepository.GetInstance("TcpClientCommunicationService"); _defaultHashCalculation = hashCalculationsRepository.Create(Globals.DEFAULT_HASH); _synchronizerConfiguration = configurationService.Get <ISynchronizerConfiguration>(); _communicationConfiguration = (CommunicationConfigurationBase)configurationService["generalTcpCommunication"]; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _nodesResolutionService = nodesResolutionService; _identityKeyProvider = identityKeyProvidersRegistry.GetInstance(); _clientState = statesRepository.GetInstance <IClientState>(); _logger = loggerService.GetLogger(nameof(NetworkSynchronizer)); }
public Miner(IBlockchain blockChain, ITransactionCreator transactionCreator, IBlockCreator blockCreator) { this.blockChain = blockChain; this.transactionCreator = transactionCreator; this.blockCreator = blockCreator; }
public BlockCreatorTests() { this.notesCreator = new NotesCreator(); this.blockCreator = new BlockCreator(); }
public BlockController() { this.notesCreator = new NotesCreator(); this.blockCreator = new BlockCreator(); }