Релиз ExGolos v0.2: опен сорс JSONRPC клиент для Голоса на Elixir/Erlang
На связи @ontofractal. Новая версия библиотеки уже опубликована в репозитории на github, на hex.pm, а документация на hexdocs.
Открытый-код
С удовольствием подключаюсь к инициативе кибер•Фонда по поддержке открытого исходного кода в Голосе и начинаю публиковать релизы в соответствии с требованиям к проектам. Одно из требований -- отдельный аккаунт (@elixir-golos) проекта на Голосе
Changelog
По сравнению с v0.1 в текущей версии:
- добавлена документация для всех функций API, включая пример результата выполнения функции.
- добавлены typespecs с типами параметров и результата для всех функций API
- добавлены следующие функции API:
get_account_count
,lookup_accounts
,lookup_account_names
,get_account_history
,get_config
,get_witness_schedule
,get_hardfork_version
,get_next_schedule_hardfork
- разные мелкие улучшения
Документация и тесты
Тесты и документация присутствуют для каждой функции JSONRPC API. В readme находятся примеры использования библиотеки.
Дорожная карта
ExGolos находится в активной разработке.
- Внедрить создание и управление подписками на ивенты
- Исследовать использование GenStage
- Добавить функции для всех типов вызвовов
- Добавить возможность броадкаста транзакций
- Добавить типы (structs) для ответов API
Больше об Elixir
Elixir -- функциональный язык программирования созданный на основе Erlang/OTP. Его основные преимущества: удобные примитивы параллелизации и одновременности(concurrency) вычислений, устойчивость к сбоям и относительно простое создание распределенных кластеров.
Личное впечатление: в процессе разработки я неоднократно убеждался в правильности своего решения изучить Elixir для работы с блокчейнами, веб-сервисами и ETL приложениями. Системы, которые у меня получалось реализовать на Elixir/OTP кажутся мне понятными и элегантными. С использованием других яызков, в частности JS и Ruby, так было далеко не всегда :D