Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ralexstokes/ethereum_consensus_monitor


https://github.com/ralexstokes/ethereum_consensus_monitor

Last synced: 25 days ago
JSON representation

Awesome Lists containing this project

README

        

# ethereum consensus monitor

Software to monitor ethereum's consensus layer.

# how to build

## build the frontend

`cd frontend && clojure -M:prod`

this will build a production version of the frontend and install it to the backend's
web assets under `public`.

if any of the static web assets change from their source in the frontend,
they can be copied to the correct location for the backend with

`just copy-assets`

## build a docker image

to build a self-contained docker image:

`just docker-build`

and/or deploy with:

`just deploy-docker`

# how to run

Everything the monitor needs to run is given in the config.

An example configuration file is provided in `config.example.toml`.

To run e.g. via `cargo`:

`cargo run -- --config-path config.example.toml`

## development

to run a development server for the frontend:

`cd frontend && clj -M:dev`

this also needs the backend running locally

# API documentation

the following routes are exposed under `/api/v1`:

- /network-config
- return data relevant to the connected network
- /nodes
- return status of the nodes under monitoring
- /chain
- return status of the beacon chain
- /fork-choice
- return data for the fork-choice visualization
- /participation
- return data for attestation and sync committee participation
- /deposit-contract
- return data about the deposit contract
- /weak-subjectivity
- return data about weak subjectivity in the network

# TODO

- match v1 functionality

- fetch head for prysm or nimbus
- test syncing status

- get a "participation provider"
- another pass at attestation participation

- update stake percents on fork choice
- other features
- deposit contract monitor
- wsprovider

-- send as updates over ws?
- /spec
- /nodes
- /fork-choice
- /participation
- /deposit-contract
- /ws-data