Exemplo n.º 1
0
 public ChainContainer(ServiceChain serviceChain, Dictionary <uint, DataChain> dataChains, MaintainChain maintainChain, ServiceHost serviceHost)
 {
     ServiceChain  = serviceChain;
     DataChains    = dataChains;
     MaintainChain = maintainChain;
     ServiceHost   = serviceHost;
 }
Exemplo n.º 2
0
        public ServiceBlockCouncil(Node.Node node, int chainId, ServiceChain serviceChain, MaintainChain maintainChain, short keyIndex, Key key) : base(node, Chain.ChainType.Service, chainId, 0, keyIndex, key)
        {
            _serviceChain  = serviceChain;
            _maintainChain = maintainChain;

            var chainInfo = node.ChainManager.CoreChain.GetChainInfo(chainId);

            if (chainInfo != null)
            {
                _chainAccountId = chainInfo.AccountId;
            }
        }
        public ServiceBlockGenerator(CoreChain coreChain, ServiceChain serviceChain, MaintainChain maintainChain, ServiceBlock lastBlock)
        {
            ChainId = serviceChain.ChainId;

            _blockInfo     = new ServiceBlockInfo(serviceChain);
            _coreChain     = coreChain;
            _serviceChain  = serviceChain;
            _maintainChain = maintainChain;
            _lastBlock     = lastBlock;
            _chainInfo     = coreChain.GetChainInfo(ChainId);
            _blockState    = _chainInfo.LastState;
        }
Exemplo n.º 4
0
        public ServiceHost(Node.Node node, ServiceChain serviceChain, IReadOnlyDictionary <uint, DataChain> dataChains, MaintainChain maintainChain, Base.Storage storage, int chainId, string serviceName, string serviceSearchPath, string serviceConfigString)
        {
            ChainId = chainId;

            _node          = node;
            _serviceChain  = serviceChain;
            _dataChains    = dataChains;
            _maintainChain = maintainChain;

            var _serviceType = GetServiceType(storage, chainId, serviceName, serviceSearchPath);

            ServiceDataPath = $"servicedata/{chainId}/";
            storage.CreateDirectory(ServiceDataPath);
            FullServiceDataPath = Path.Combine(storage.Root.FullName, ServiceDataPath);

            _serviceConfigString = serviceConfigString;
            if (!string.IsNullOrEmpty(_serviceConfigString))
            {
                _serviceConfigString += ";";
            }
            else
            {
                _serviceConfigString = string.Empty;
            }

            _serviceConfigString += $"{Heleus.Service.ServiceHelper.ServiceDataPathKey}={FullServiceDataPath};";
            _serviceConfigString += $"{Heleus.Service.ServiceHelper.ServiceChainIdKey}={chainId};";

            try
            {
                _service = (IService)Activator.CreateInstance(_serviceType);
                if (_service != null)
                {
                    _service.Initalize(ServiceOptions);
                }
            }
            catch (Exception ex)
            {
                Log.Warn($"Creating service {_serviceType.Name} failed.", this);
                Log.HandleException(ex, this);
            }
        }
Exemplo n.º 5
0
 public MaintainBlockCouncil(Node.Node node, MaintainChain maintainChain, short keyIndex, Key key) : base(node, ChainType.Maintain, maintainChain.ChainId, maintainChain.ChainIndex, keyIndex, key)
 {
     _maintainChain = maintainChain;
 }
Exemplo n.º 6
0
 public MaintainBlockGenerator(MaintainChain maintainChain, MaintainBlock lastBlock)
 {
     _maintainChain    = maintainChain;
     _lastBlock        = lastBlock;
     _featureGenerator = new BlockTransactionGenerator(maintainChain);
 }