Анонс опен сорс платформы для разработки приложений на блокчейне GOLOS [фидбек приветствуется]
Цель создания платформы четко определена: сделать разработку приложений и клиентов для Голоса проще, дешевле и быстрее.
Идея создания платформы во многом основана на моем опыте: после полугода работы с блокчейнами Голоса и Стима мне понятно, что developer experience при работе с JSONRPC API неоптимален. Практика также показывает, что для создания альтернативного клиента недостаточно фронтенд приложения и работающей ноды Golos, необходимо создавать прокладку, например в виде SQL базы данных.
При успешной реализации проекта платформа даст возможность создавать продвинутые фронтенд и мобильные клиенты без необходимости написания бекенд кода, а ее внедрение поможет разработчикам сконцентрироваться на создании ценности для экосистемы Голоса и пользователей приложения/клиента.
Название платформы и проекта в целом пока неопределено. Код платформы будет выпущен под одной из свободных лицензий в рамках #открытый-код.
Планируемый функционал
- удобный websockets API для доступа к данным блокчейна
- быстрая скорость загрузки данных пользователями приложений
- продвинутый функционал фильтров и настроек отображения контента
- интеграция с IPFS
- поддержка GraphQL
- риалтайм потоки событий блокчейна c доступом к обогащенным данным
- in-memory база данных объектов блокчейна
- минимиум церемоний при разворачивании платформы
- ..много другого
Платформа будет состоять из следующих элементов:
- бекенд сервер взаимодействующий с golosd (будет разработан в первую очередь)
- мультифункциональный фронтенд клиент с поддержкой реалтайм обновлений
- докер кластер
Сценарии использования
- статический блог одного автора
- статический блог нескольких авторов
- реалтайм SPA
- блокчейн эксплорер
- базовые статистические инструменты
- ... и другие
Стек бекенд сервера
Elixir/OTP обеспечит бесперебойность и масштабируемость работы платформы. Phoenix будет использован для высокого уровня производительности и поддержки двусторонней реалтайм коммуникации с помощью websockets. Использование существующих библиотек Phoenix для Android, iOS и C# позволит сократить время разработки мобильных приложений. Mnesia позволит использовать in-memory базу данных для обеспечения быстрого ответа сервера на пользовательские запросы.
Возможно, окажется, что Mnesia недостаточно для некоторых классов приложений. В таком случае в платформу будет добавлена SQL база данных.
Планируемый первый релиз
Первый релиз позволит автору Голоса быстро запустить статический блог на своем домене с минимум конфигурации и настроек.
Экосистема
Буду рад приоритизировать функционал необходимый клиентам, уже находящимся в разработке (пингую @dark.sun, @lehard, @on0tole) или только планируемых. Для связи: ontofractal@protonmail.com или chat.golos.io
В ближайшее время я также запущу цикл образовательных постов о Elixir/OTP и Phoenix сфокусированный на взаимодействий с блокчейном и кастомизации платформы для своих целей и потребностей.