public Node( string channelId, ILoggerFactory loggerFactory, IAssemblyProvider assemblyProvider, IIdentityProvider identityProvider, DataManager dataManager, MQSetting mQSetting, IHttpClientFactory clientFactory, IMemoryCache memoryCache ) { _memoryCache = memoryCache; _mq = mQSetting; _channelId = channelId; _dataManager = dataManager; _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger <Node>(); //链码执行器 _chainCodeExecutor = new ChainCodeExecutor(assemblyProvider, identityProvider, _dataManager); //节点通讯提供者 //var peerProvider = new GrpcPeerProvider(loggerFactory, dataManager); var peerProvider = new PeersProvider(loggerFactory, dataManager, clientFactory); //背书策略提供者 var policeProvider = new PolicyProvider(loggerFactory, identityProvider, peerProvider, dataManager); //配置提供 _configProvider = new ConfigProvider(assemblyProvider, policeProvider, identityProvider, peerProvider, _mq); //交易池 TxPool = new TxPool(loggerFactory, _configProvider, _dataManager, this, _memoryCache); //节点状态 _stateprovider = new StateProvider(_configProvider, this, _loggerFactory, _dataManager); }
public ChaincodeStub( IChainCodeExecutor chainCodeExecutor, IMongoDatabase mongoDB, TxRequest txRequest, PeerIdentity peerIdentity) { _mongoDB = mongoDB; _chainCodeExecutor = chainCodeExecutor; _txRequest = txRequest; _identity = peerIdentity; _txReadWriteSet = new TxReadWriteSet(); }