コード例 #1
0
        public static void CreateRequiredDirectories(Base.Storage storage, ChainType chainType, int chainId, uint chainIndex)
        {
            var path = GetTransactionStoragePath(chainType, chainId, chainIndex);

            if (!storage.CreateDirectory(path))
            {
                throw new Exception($"Could not create directory {path}.");
            }
        }
コード例 #2
0
            public ChainAttachementsCache(Base.Storage storage, DataChain chain)
            {
                Chain = chain;

                AttachementsPath     = GetAttachementPath(chain.ChainId, chain.ChainIndex, chain.AttachementKey);
                AttachementsFullPath = Path.Combine(storage.Root.FullName, AttachementsPath);

                if (!storage.CreateDirectory(AttachementsPath))
                {
                    throw new Exception("Could not create attachements directory.");
                }
            }
コード例 #3
0
        static void SaveCoreAccountKey(Base.Storage storage, CoreAccountKeyStore keyStore, string name, string password, string path = null)
        {
            var p = "keys/";

            if (path != null)
            {
                p = $"keys/{path}/";
            }

            storage.CreateDirectory(p);

            storage.WriteFileText($"{p}/{name} Keystore.txt", $"{name}|{keyStore.HexString}");
            storage.WriteFileText($"{p}/{name} Keystore Password.txt", password);
        }
コード例 #4
0
        static void SaveKeyStore(Base.Storage storage, KeyStore keyStore, string password, string service, string keyName, string path = null)
        {
            var p = "keys/";

            if (path != null)
            {
                p = $"keys/{path}/";
            }

            var name = GetKeyStoreName(service, keyName);

            storage.CreateDirectory(p);

            storage.WriteFileText($"{p}{name} Keystore.txt", $"{keyName}|{keyStore.HexString}");
            storage.WriteFileText($"{p}{name} Keystore Password.txt", password);
        }
コード例 #5
0
ファイル: ServiceHost.cs プロジェクト: HeleusCore/Heleus.Node
        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);
            }
        }