Ejemplo n.º 1
0
        private void LoadDataInOrder()
        {
            _logger.Log("Caught up ! Starting ..");
            var files = Directory.GetFiles(_catchDataFullPath);

            foreach (var file in files)
            {
                var tokens = file.Split('\\');
                var name   = tokens[tokens.Length - 1];
                _logger.Log("Copied new block from catch : " + name);
                File.Copy(file, $"{Configurations.CurrentPath}\\BlockChain\\Chain\\{name}");
                File.Delete(file);
            }
            //process blocks in order
            var order = bufferedBlockInfos.OrderBy(r => r.Height).ToList();

            foreach (var blockInfo in order)
            {
                var bb = _blockChainService.LookUpBlock(blockInfo.Id);
                _eventManager.PassNewTrigger(bb, EventTypes.EventType.NewBlock);
            }
            _blockChainService.TryLoadSavedInfo();
            _minerService.TryRestartingWorkers();
        }