/watcher

Cardano Block Explorer in Elixir/LiveView

Primary LanguageElixir

Watcher

CI Status

A Dashboard for monitoring Cardano addresses. Reads chain data from a Redis stream populated by Oura.

Running

  • Install compiler dependencies with asdf install
  • Run mix setup to install and setup dependencies.
  • See .env.sample as reference for required ENVs.
  • Start the app with iex -S mix

For the time being, it simply displays addresses receiving ADA along with the amount of the transfer.

Architecture

The architecture contains the following services:

  1. Cardano Node
  2. Oura
  3. Redis
  4. Phoenix

Chain data from a local Cardano Node is read by Oura which has a sink configured for Redis Streams. A Phoenix server subscribes to the Redis Stream and upon receiving events from the stream, it broadcasts them to Phoenix PubSub subscribers.

The main page for the dashboard is a LiveView which is a subscriber to PubSub. Upon receiving the broadcast, the LiveView updates the socket with new data which in turn updates the page.

Tests

Running tests depends on Redis.
More info TBD.