Skip to content

Golos starter pack

Pre-release
Pre-release
Compare
Choose a tag to compare
@On1x On1x released this 14 Sep 11:48
· 27 commits to master since this 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