Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 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>();
 }
Esempio n. 3
0
 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));
 }
Esempio n. 4
0
 public Miner(IBlockchain blockChain, ITransactionCreator transactionCreator, IBlockCreator blockCreator)
 {
     this.blockChain         = blockChain;
     this.transactionCreator = transactionCreator;
     this.blockCreator       = blockCreator;
 }
Esempio n. 5
0
 public BlockCreatorTests()
 {
     this.notesCreator = new NotesCreator();
     this.blockCreator = new BlockCreator();
 }
Esempio n. 6
0
 public BlockController()
 {
     this.notesCreator = new NotesCreator();
     this.blockCreator = new BlockCreator();
 }