Golos starter pack with interface
Pre-releaseЧто такое HiddenEngine?
Hidden Engine это легкий движок для сайтов (данная реализация на node.js), с упрощенной разработкой приложений для блокчейн проектов (Steem/Golos).
Что сделано
Изменена архитектура приложения, теперь она менее линейна, более правильное использование callback вызовов. Переработан класс работы с шаблонами, улучшен интерфейс приложения.
Управление аккаунтами вынесено в отдельный модуль.
Заложена поддержка Steem, но она станет доступна после того, как починят golos-js issue 8. Наблюдатели за блокчейном вынесены в отдельные функции. Ими возможно управлять через интерфейс (ставить на паузу, продолжать или перезапускать наблюдателя).
Планы
Модуль для делегатов по publish_feed, слежение за пропущенными блоками, интерфейс для установки паузы на подпись блоков. Создать механизм отложенных действий в очереди. Написать механизм автоматического курирования/флагования постов авторов из списка с указанием задержки во времени и силой голоса. Добиться параллельной работы библиотек Голоса и Steem (на данный момент работает только Голос).
Разработка
Легкая модульная подсистема позволяет расширять сайт или приложение отдельными файлами-модулями. Порог входа программистов снижен интуитивной структурой:
- index.js — Основной каркас приложения, содержит также логику по выполнению задач из очереди для Голоса и Steem;
- /class/ содержит классы:
- template.js — легкий класс для html-шаблонов;
- /module/ содержит исполняемые модули:
- prepare.js — выполняется автоматически для каждого запроса, содержит предопределенные настройки сайта и подготовительные операции (такие как проверка авторизации администратора);
- login.js — форма авторизации;
- logout.js — выход;
- clear-global.js — очистка глобальной json базы данных;
- change-admin.js — смена пароля администратора;
- accounts.js — управление базой аккаунтов;
- upvote-circle.js — управление связкой аккаунтов, добавление в очередь задач по upvote, флагам и голосованию за делегата;
- clear-global.js — очистка глобальной json базы данных;
- index.js — главный файл доступный из корня сайта, содержит служебное меню;
- /templates/ содержит html-шаблоны;
- /public/ — для публичных файлов (css/js/img);
- /uploads/ — для загружаемых файлов.
Главный исполняемый файл подготовливает окружение (cookies, _GET, _POST), формирует объекты для удобного обращения (templates, global), выполняет модуль и завершает соединение (по-умолчанию включена поддержка gzip-сжатия).
Установка
cd ~
curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh -o install_nvm.sh
nano install_nvm.sh
bash install_nvm.sh
source ~/.profile
nvm ls-remote
nvm install 8.4.0
node -v
sudo apt-get install nodejs-legacy
npm install express -g
npm install pm2 -g
git clone https://github.com/On1x/HiddenEngine.git
cd HiddenEngine
npm install
npm install steem --save
npm install golos-js --save
npm install crypto --save
npm install body-parser --save
Запуск
pm2 start index.js --watch