public BlockChain(Hash chainId, IChainManagerBasic chainManager, IBlockManagerBasic blockManager, ITransactionManager transactionManager, ITransactionTraceManager transactionTraceManager, IStateStore stateStore, IDataStore dataStore) : base( chainId, chainManager, blockManager, dataStore) { _transactionManager = transactionManager; _transactionTraceManager = transactionTraceManager; _stateStore = stateStore; _doingRollback = false; _prepareTerminated = false; _terminated = false; _logger = LogManager.GetLogger(nameof(BlockChain)); MessageHub.Instance.Subscribe <TerminationSignal>(signal => { if (signal.Module == TerminatedModuleEnum.BlockRollback) { if (!_doingRollback) { _terminated = true; MessageHub.Instance.Publish(new TerminatedModule(TerminatedModuleEnum.BlockRollback)); } else { _prepareTerminated = true; } } }); }
public LightChain(Hash chainId, IChainManagerBasic chainManager, IBlockManagerBasic blockManager, IDataStore dataStore, ILogger logger = null) { _chainId = chainId.Clone(); _chainManager = chainManager; _blockManager = blockManager; _dataStore = dataStore; _logger = logger; }
public ChainService(IChainManagerBasic chainManager, IBlockManagerBasic blockManager, ITransactionManager transactionManager, ITransactionTraceManager transactionTraceManager, IDataStore dataStore, IStateStore stateStore) { _chainManager = chainManager; _blockManager = blockManager; _transactionManager = transactionManager; _transactionTraceManager = transactionTraceManager; _dataStore = dataStore; _stateStore = stateStore; }