Релиз ExGolos v0.9: улучшения надежности и удобства работы с библиотекой


На связи @ontofractal. В этот релиз вошли улучшения и багфиксы за последние несколько месяцев. Из примечательных изменений: замена erlang вебсокет клиент на нативный для elixir websockex и парсинг ответов jsonrpc в нативные дататипы для elixir, например, NaiveDateTime для timestamp.

Репозитории и документация

Пример GenStage потребителя ивентов

defmodule Golos.Stage.MungedOps.ExampleConsumer do
  use GenStage
  alias Golos.MungedOps
  require Logger

  def start_link(args, options \\ []) do
    GenStage.start_link(__MODULE__, args, options)
  end

  def init(state) do
    Logger.info("Golos example consumer is initializing...")
    {:consumer, state, subscribe_to: state[:subscribe_to]}
  end

  def handle_events(events, _from, state) do
    for op <- events do
      process_event(op)
    end
    {:noreply, [], state}
  end

  def process_event(%{data: %MungedOps.Reblog{} = op_data, metadata: op_metadata = %{block_height: h, timestamp: t}}) do
      Logger.info """
      Новый реблог:
      #{inspect op_data} в блоке #{h}, время: #{t}
      """
  end

  def process_event(%{data: op_data, metadata: %{block_height: h, timestamp: t} =  op_metadata}) do
      Logger.info """
      Новая операция:
      #{inspect op_data} в блоке #{h}, время: #{t}
      """
  end

end

Дорожная карта

  • Улучшить документацию
  • Добавить оставшиеся стракты
  • Добавить возможность броадкаста транзакций

Больше об Elixir

Elixir -- функциональный язык программирования созданный на основе Erlang/OTP. Его основные преимущества: удобные примитивы параллелизации и одновременности(concurrency) вычислений, устойчивость к сбоям и относительно простое создание распределенных кластеров.

(∩^o^)⊃━☆゜.*

открытый-кодголосблокчейнпрограммированиеelixir
25%
0
144
389.657 GOLOS
0
В избранное
elixir-golos
На Golos с 2017 M02
144
0

Зарегистрируйтесь, чтобы проголосовать за пост или написать комментарий

Авторы получают вознаграждение, когда пользователи голосуют за их посты. Голосующие читатели также получают вознаграждение за свои голоса.

Зарегистрироваться
Комментарии (3)
Сортировать по:
Сначала старые