Что такое HiddenEngine?
Hidden Engine это легкий движок для сайтов и приложений специализированных для блокчейна Steem/Golos.
Статус разработки
Текущая версия: v0.0.5
GitHub: https://github.com/On1x/HiddenEngine
Веб-страница: https://goldvoice.club/@hiddenengine/
Что сделано в последнем релизе
Добавлена поддержка отложенных действий в очереди. Эта возможность внедрена и в интерфейс, теперь там можно указать delay в секундах.
Теперь не нужно запускать и настраивать nginx для проксирования запросов на определенный порт. HiddenEngine запускается на 80 и 443 порту с поддержкой SSL-сертификатов. При инсталяции генерируется новый сертификат с помощью openssl. Работает перенаправление с 80 порта на 443, чтобы исключить передачу незащищенного трафика в приложении. Пароль в json формате теперь не хранится (хранится только md5-hash).
Полностью внедрена поддержка быстрой установки всех зависимых пакетов через npm. Параллельная работа очередей Steem и Golos (нагрузка на процессор почти нулевая, возрастает только при трансляции транзакций в блокчейн).
Планы на будущее
Написать механизм автоматического курирования постов авторов из списка с указанием задержки во времени и силой голоса.
Отдельный модуль для делегатов: выполнение publish_feed, слежение за пропущенными блоками, интерфейс для запуска/паузы на подпись блоков.
Модуль E-mail оповещений, очередь писем.
Разработка
Легкая модульная подсистема позволяет расширять сайт или приложение отдельными файлами-модулями. Порог входа программистов снижен интуитивной структурой:
- index.js — Основной каркас приложения, который подготавливает окружение, выполняет модуль и завершает соединение (по-умолчанию включена поддержка gzip-сжатия);
- /class/ содержит классы:
- global.js — предустановка переменных при запуске (логин и пароль по-умолчанию: admin);
- template.js — легкий класс для html-шаблонов;
- watchers.js — класс наблюдателя, который следит за выполнением операций из очереди;
- /module/ содержит исполняемые модули:
- prepare.js — выполняется автоматически для каждого запроса, содержит предопределенные настройки сайта и подготовительные операции (такие как проверка авторизации администратора);
- login.js — форма авторизации;
- logout.js — выход;
- change-admin.js — смена пароля администратора;
- accounts.js — управление базой аккаунтов;
- watch-control.js — управление наблюдателями (steem/golos);
- upvote-circle.js — управление связкой аккаунтов, добавление в очередь задач по upvote, флагам и голосованию за делегата;
- index.js — главный файл доступный из корня сайта, содержит служебное меню;
- /templates/ содержит html-шаблоны;
- /ssl/ содержит ssl-сертификат (генерируется автоматически при первичной установке, если есть действующий SSL-сертификат, то bundle.crt следует записать в ssl.crt, а server.key в ssl.key);
- /public/ — для публичных файлов (css/js/img);
- /uploads/ — для загружаемых файлов.
Установка
HiddenEngine при установке запишется в автозапуск pm2, что позволит восстановить работу и состояние приложения после перезагрузки сервера.
cd ~
curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh -o install_nvm.sh
bash install_nvm.sh
source ~/.profile
nvm ls-remote
nvm install 8.5.0
node -v
sudo apt-get install nodejs-legacy
npm install npm -g
npm install pm2 -g
git clone https://github.com/On1x/HiddenEngine.git
cd HiddenEngine
apt-get install openssl
mkdir ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./ssl/ssl.key -out ./ssl/ssl.crt -subj "/C=HE/ST=HE/L=HE/O=HE"
npm install
Управление состоянием приложения
npm stop
npm start
npm restart
pm2 monit hiddenengine
@hiddenengine Поздравляю! Вы получили личную награду!
С Днём Рождения - 2 лет на Голосе
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
@hiddenengine Поздравляю! Вы получили личную награду!
С Днём Рождения - 1 год на Голосе
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
@hiddenengine Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Не догоняю, это библиотека или какой-то гуй есть? Картинка намекает на гуй...
GUI есть, он доступен на HTTP порту.
Круть, посмотрим))
Я правильно понимаю, что этот проект можно использовать например для того, чтобы наваять какой-то кастомный клиент к голосу?
Приложение к голосу. Для легких клиентов достаточно будет html+javascript
@hiddenengine Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@hiddenengine, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующих категориях:
@hiddenengine Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за общую выплату получил
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
mishka, mir, kavalsky, tristamoff, vadbars, nefer, semasping, gromozeka, tnam0rken, on1x, newodin, vika-teplo, borisss, sareon, nerengot, lokkie, dignityinside, vsebudethorosho, konstab
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас на странице https://golos.io/~witnesses, вот так:
@hiddenengine Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество полученных голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп