Golos starter pack
Pre-releaseЧто такое HiddenEngine?
Hidden Engine это легкий движок для сайтов (данная реализация на node.js), с упрощенной разработкой приложений для блокчейн проектов (Steem/Golos).
Что сделано
Переработан механизм переменных global (для общей базы данных) и session (внутри сессии пользователя), доступ администратора перенесен в global, правильная работа с потоками для чтения и записи global.json, очередь для Голоса, Golos Watch с поддержкой upvote circle (все добавленные аккаунты автоматически голосуют за пост из этого круга аккаунтов).
Дальнейшая разработка
Планы: Добавить поддержку Steem. Встроить собственные шаблоны для более удобной работы с глобальной базой данных. Вынести работу наблюдателей в отдельный управляющий механизм с контролем через интерфейс. Вынести работу с аккаунтами в отдельный общий модуль.
Разработка
Легкая модульная подсистема позволяет расширять сайт или приложение отдельными файлами-модулями. Порог входа программистов снижен интуитивной структурой:
- index.js — Основной каркас приложения, содержит также логику по выполнению задач из очереди для Голоса (upvote/upvote_witness);
- /class/ содержит классы:
- template.js — легкий класс для html-шаблонов;
- /module/ содержит исполняемые модули:
- prepare.js — выполняется автоматически для каждого запроса, содержит предопределенные настройки сайта и подготовительные операции (такие как проверка авторизации администратора);
- login.js — форма авторизации;
- logout.js — выход;
- clear-global.js — очистка глобальной json базы данных;
- change-admin.js — смена пароля администратора;
- upvote-circle.js — управление базой аккаунтов, добавление в очередь задач по upvote и голосованию за делегата;
- clear-global.js — очистка глобальной json базы данных;
- index.js — главный файл доступный из корня сайта, содержит меню для навигации;
- /templates/ содержит html-шаблоны;
- /uploads/ — для загруженных файлов;
- /public/ — для публичных файлов.
Главный исполняемый файл подготовливает окружение (cookies, _GET, _POST), формирует объекты для удобного обращения (templates, global), выполняет модуль и завершает соединение (по-умолчанию включена поддержка gzip-сжатия).
Установка
git clone https://github.com/On1x/HiddenEngine.git
cd HiddenEngine
npm install
Запуск
pm2 start index.js
Использование
Приложение имеет http-интерфейс на 3000 порту. Данные для первого входа: логин admin, пароль admin. Пример лога работы ,если следить за приложением через pm2 monit:
Скачать
Ссылка на GitHub: https://github.com/On1x/HiddenEngine