Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public ChaincodeStub(
     IChainCodeExecutor chainCodeExecutor,
     IMongoDatabase mongoDB,
     TxRequest txRequest,
     PeerIdentity peerIdentity)
 {
     _mongoDB           = mongoDB;
     _chainCodeExecutor = chainCodeExecutor;
     _txRequest         = txRequest;
     _identity          = peerIdentity;
     _txReadWriteSet    = new TxReadWriteSet();
 }